我很努力合併具有屬性依賴性的XPath查詢中的2個條件。XPath,如何根據屬性依賴關係選擇基於2個條件的節點
我想選擇所有AdjsCI = 4005和AdjsRNCid = 280
<managedObject class="ADJS">
<p name="AdjsCI">4005</p>
<p name="AdjsRNCid">280</p>
</managedObject>
節點爲它工作正常,只有一個條件,但我沒有找到2.
隨着1個條件:
SelectNodes(「// managedObject/p [@ name ='AdjsCI'] [text()='4005']」);
這一個是確定的。
但與2我已經嘗試了許多許多選項,但都沒有工作。 SelectNodes(「// managedObject/p [@ name ='AdjsCI'and @ name ='AdjsRNCid] [text()='4005'and text()='280']」); SelectNodes(「// managedObject/p [[@ name ='AdjsCI'] [text()='4005] and [@ name ='AdjsRNCid] [text()='280']]」); SelectNodes(「// managedObject/p [@ name ='AdjsCI'] [text()='4005']和// managedObject/p [@ name ='AdjsRNCid'] [text()='280 「]「);
有沒有解決方案呢?
非常感謝您提前。
若昂保羅
你好Sai,謝謝你的快速回復,但沒有人在工作。第一個是給出91個結果,我應該只有2個。事實上,我想要找到LAC = 1800和CI = 4005的所有節點。使用您的選項1,我將獲得所有帶有LAC 1800的單元。第二個選項導致例如:未處理的異常:System.Xml.XPath.XPathException:'// managedObject/p [(@ name 'Adjsci'或@ name ='AdjsLAC')and(text()='4005'或text()=' 1800')]'有一個無效的標記。我改變@ name ='AdjsCI',然後沒有例外,但仍然是91。如果我把文本()='4005'和文本()='1800'我得到0:/ –