我有这个XML:
<Body xmlns:wsu="http://mynamespace">
<Ticket xmlns="http://othernamespace">
<Customer xlmns="">Robert</Customer>
<Products xmlns="">
<Product>a product</>
</Products>
</Ticket>
<Delivered xmlns="" />
<Payment xlmns="">cash</Payment>
</Body>
我使用Java将其作为DOM文档读取。我想删除空名称空间属性(即xmlns=""
)。有没有办法做到这一点?
答案 0 :(得分:2)
您需要了解xmlns
是非常特殊的属性。基本上,xmlns=""
是Customer
元素在&#34;未命名&#34;命名空间,而不是http://othernamespace
命名空间(对于其他元素,也可以从其祖先继承默认命名空间)。
如果你想摆脱xmlns=""
,你基本上需要将元素放入适当的命名空间 - 所以它改变了元素名称。我不认为 W3C API允许您更改元素的名称 - 您可能需要创建具有相应命名空间名称的新元素,并复制内容。或者,如果您负责创建文档,请使用正确的命名空间。