【发布时间】:2020-10-02 21:09:22
【问题描述】:
如何从纯 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
非常感谢您。
【问题讨论】:
-
可以使用 XPath 表达式
namespace-uri(//*[local-name()="root"])或namespace-uri(/*)访问默认命名空间root。你会发现很多 xpath java 的代码 sn-ps