【发布时间】:2014-04-24 07:26:33
【问题描述】:
我需要(嗯,真的很想...)将命名空间声明添加到 DOM 树的根元素。 我在文档后面反复使用该命名空间,在我使用它的每个节点中都有声明并不是很方便:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><test>
<value xmlns:test="urn:mynamespace" test:id="1">42.42</value>
<value2 xmlns:test="urn:mynamespace" test:id="2">Hello Namespace!</value2>
</test>
我想得到的是
<?xml version="1.0" encoding="UTF-8" standalone="no"?><test xmlns:test="urn:mynamespace">
<value test:id="1">42.42</value>
<value2 test:id="2">Hello Namespace!</value2>
</test>
以后手动编辑时更方便。
我知道这是可能的,因为这是我在加载包含以下内容的文档时得到的结果
<test xmlns:test="urn:mynamespace">
</test>
并添加剩余的节点。
所以我认为问题归结为: 如何将 xmlns:test="urn:mynamespace" 添加到根节点?当我尝试添加属性时,我得到一个 NAMESPACE_ERR 异常(我使用命名空间感知工厂等)。因为我试图绕过我找不到的 API 来处理命名空间......
注意:在根元素中没有使用命名空间的属性(当我允许时,我可以让它工作),只有命名空间声明。
【问题讨论】:
标签: java xml dom xml-namespaces