-1
假設我有這樣的個XML內匹配的所有子節點的內容,XPATH的父元素
<a><b>text</b></a>
和
<a>text</a>
我怎樣寫一個通用的XPath內匹配的所有內容元素<a>
不考慮子節點(<b>
)而不是寫/a/b
和/a
,因爲我可以爲元素<a>
有任何子節點。
假設我有這樣的個XML內匹配的所有子節點的內容,XPATH的父元素
<a><b>text</b></a>
和
<a>text</a>
我怎樣寫一個通用的XPath內匹配的所有內容元素<a>
不考慮子節點(<b>
)而不是寫/a/b
和/a
,因爲我可以爲元素<a>
有任何子節點。
要得到的結果等於/a
關於你的第二個XML樣本您的第一個XML樣本和等於/a/b
,您可以使用下面的表達式:
//a/descendant-or-self::*[not(*)]
的a
或a
中的XPath返回後裔本身取其數值爲葉片元件即無子元件。當上面的XPath是執行的結果將是
<root>
<a><b>text b</b></a>
<a>text a</a>
<a><c>text c</c></a>
<a><c><d>text d</d></c></a>
</root>
:
<b>text b</b>
<a>text a</a>
<c>text c</c>
<d>text d</d>
你意味着什麼
爲了演示,請考慮下面的示例XML像這樣// //一個// text()'?這應該匹配'xml'樣本中的'text' – Andersson
我嘗試過// a // text()...我沒有得到所需的輸出..它似乎沒有考慮子節點內的內容。 –