我有一些節點的XML文檔一樣XPath表達式獲得一些屬性
<node name="xxx" id="xxx">
我可以用一個XPath表達式來獲得所有屬性節點,其父母也已atrtribute @id = 7
?
我有一些節點的XML文檔一樣XPath表達式獲得一些屬性
<node name="xxx" id="xxx">
我可以用一個XPath表達式來獲得所有屬性節點,其父母也已atrtribute @id = 7
?
不需要。您需要定義要讀出哪個屬性 - 逐個。
/node[@id=7]/@name
將得到name
/node[@id=7]/@id
將得到id
等
實際上,這很容易在單個XPath表達式中指定 - 請參閱我的答案。沒有必要指定特定的屬性名稱。 – 2010-11-13 18:00:41
你寫了*你需要定義要讀出哪個屬性 - 一個接一個*。這句話是錯誤的。 – 2010-11-14 20:50:08
這將選擇所有id
屬性具有值7節點:
//*/@id[. = '7']
如何選擇id = 7的所有名稱屬性? – user496949 2010-11-13 10:19:01
@ user496949 - 會是:'// * [id ='7']/@ name' – Oded 2010-11-13 10:20:26
使用:
//@*[not(name()='id') and ../@id = 7]
這個選擇所有非ID屬性,其父母有一個id
屬性與價值數7
。這將接受id='7'
和id=' 7 '
//@*[not(name()='id') and ../@id = '7']
這個選擇所有非ID屬性,其父母有一個id
屬性值爲字符串'7'
。這將接受id='7'
但不是id=' 7 '
好問題,+1。到目前爲止,看到我的答案是唯一正確和完整的解決方案。 :) – 2010-11-13 17:59:18