问题描述
如何从纯Java的XML或Java的Xpath中提取默认名称空间值?
<root xmlns="http://root.com/v1" xmlns:other="http://other.com/v2">
<childs>
...
</root>
我认为默认的xml名称空间是:xmlns =“ http://root.com/v1”
但是在其他情况下,相同的XML具有这样的前缀:
<x:root xmlns:x="http://root.com/v1" xmlns:other="http://other.com/v2">
<x:childs>
...
</x:root>
我只希望根节点使用的“默认” xmlns内的值或xmlns:x内的值。我需要以下值: http://root.com/v1
非常感谢您。
解决方法
@ mark61注释掉namespace-uri(/ *)可以正常工作。它会忽略前缀,并始终从名称空间返回正确的值。