我尝试使用XPath从此XML获取xmlns:attr
属性值。我似乎无法得到它。
<a:b xmlns:attr="value">
</a:b>
这是来自根节点。
我已经尝试了几乎所有组合,但我似乎找不到任何可行的方法。
答案 0 :(得分:4)
撇开未声明的a:
命名空间的注意力,让我们改为使用这个例子:
<b xmlns:attr="value"/>
注意:您选择attr
的名称掩盖了以下事实:attr
不是 属性 < / strong>而是 名称空间前缀 。
使用namespace
axis:
/b/namespace::attr
将评估为
value
根据XML Path Language (XPath) 2.0 (Second Edition):
在XPath 2.0版中,不推荐使用命名空间轴 由主持语言支持。
请使用namespace-uri-for-prefix()
:
/b/namespace-uri-for-prefix('attr',.)
将评估为
value