0
我認爲這個問題是很清楚的,但這裏有一個例子:尋找最大屬性XPath 1.0中受到附加約束
<?xml version="1.0"?>
<Root>
<Criterion>
<Name>A</Name>
<Value>1</Value>
</Criterion>
<Criterion>
<Name>C</Name>
<Value>3</Value>
</Criterion>
<Criterion>
<Name>D</Name>
<Value>4</Value>
</Criterion>
<Criterion>
<Name>B</Name>
<Value>2</Value>
</Criterion>
</Root>
我很新的這一點,但其他的答案我知道怎麼找該標準具有最大值:
//Root/Criterion[not(../Criterion/Value > Value)]
這給了我
<Criterion>
<Name>D</Name>
<Value>4</Value>
</Criterion>
正如預期的那樣。但是我希望能夠添加額外的約束條件,例如「查找具有小於3的最高值的標準」。對於這個例子,我希望它返回
<Criterion>
<Name>B</Name>
<Value>2</Value>
</Criterion>
,因爲這包含不大於3。我已經試過了好像他們的工作,但他們都沒有一些想法的最高值;我希望我可以用一個或兩個命令來完成。有沒有人知道這樣做的簡單方法?不幸的是,我使用的是VBA,因此我僅限於使用XPath 1.0,並且根據示例,元素不一定按任何特定順序排序。
感謝邁克爾。那是我的第一個想法,但它不起作用;但我認爲這證明它與我在VBA而不是XPath命令中調用它有關。如果沒有第二種情況代碼工作,只要我添加它抱怨的第二個條件。看起來我需要深入瞭解VBA文檔。再次感謝您的回答。 – user6282181
不要告訴我們「它不工作」或「它抱怨」 - 告訴我們它是如何失敗的。這樣,我們有機會幫助你。 –
我現在花了一些時間研究VBA錯誤,我得到了,事實證明,當我添加第二個條件,沒有得到返回。似乎這兩個條件一起應用都沒有,因爲整個集合的最大值不小於或等於3(它是4)。我認爲我想要做的是應用<= 3條件,然後將最大條件應用於結果,而不是試圖將它們應用於同一集合。不過,我不確定如何構建該命令。 – user6282181