這應該是一個容易的,但它給我的麻煩。鑑於這種結構:Xpath只選擇子元素存在的節點?
<root>
<a>
<b/>
</a>
<a/>
</root>
我試圖制定一個XPath表達式,也就是說,只有非空「A」的元素,即有子元素的人。因此,我希望返回「a」的第一個實例,但不是第二個實例。
到目前爲止,我有「/ root/a/self :: *」,但是這是返回給我兩個a的。
這應該是一個容易的,但它給我的麻煩。鑑於這種結構:Xpath只選擇子元素存在的節點?
<root>
<a>
<b/>
</a>
<a/>
</root>
我試圖制定一個XPath表達式,也就是說,只有非空「A」的元素,即有子元素的人。因此,我希望返回「a」的第一個實例,但不是第二個實例。
到目前爲止,我有「/ root/a/self :: *」,但是這是返回給我兩個a的。
/root/a[count(*)>0]
會給任何 'A' 節點與任何類型的子節點的
就像一個額外的點,您可以使用計數(b)具體說明您要計算哪些子節點。 – 2013-07-10 10:52:00
/root/a[count(*)>0]
我認爲Adrian對編碼的需求是正確的。 – 2009-07-17 15:19:14
僅限於您想將其放入XML文件(例如XSLT腳本)。但是,這只是一個存儲細節,我很確定XPath規範使用「>」:) – 2009-07-17 20:27:10
我還發現,這種作品: /root/a [child :: *] 但我會給阿德里安信貸的答案也行得通! :) – 2009-07-17 15:24:20