我正在查找XPath表達式以獲取節點的默認名稱空間。用於獲取默認名稱空間的XPath表達式
我的XML文檔可能看起來像這樣。
<aaa>
<bbb xmlns="ns1" xmlns:ggg="ns2" attribute="value" attribute2="value2">
<ccc />
</bbb>
<bbb xmlns="ns4" xmlns:ggg="ns5" attribute="value" attribute2="value2">
<ddd />
</bbb>
</aaa>
我想得到ns1
。我用以下表達式嘗試過它,但沒有一個能夠工作(我在Java 1.7中進行編程(所以它是XPath 1.0),並使用http://chris.photobooks.com/xml/default.htm上的在線XPath可視化工具進行測試)。
/aaa/*[name()='bbb' and position()=1]/attribute::*
該表達式只選擇attribute
- 和attribute2
-nodes。
/aaa/*[name()='bbb' and position()=1]/namespace::*
此表達式不會選擇任何內容。
如果有人給我提示,我將不勝感激。
感謝您的回答。我很高興我沒有犯錯。它確實是在XPath引擎中構建的。現在我使用的是撒克遜圖書館,一切正常。 –