【发布时间】:2013-12-09 19:43:12
【问题描述】:
我正在寻找一个 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-节点。
/aaa/*[name()='bbb' and position()=1]/namespace::*
这个表达式没有选择任何东西。
如果有人对我有提示,我将不胜感激。
【问题讨论】:
标签: xml xpath namespaces xml-namespaces