java如何从组织中删除特定的xml属性。w3c。多姆。文件
我有一个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=""
)。有办法吗
# 1 楼答案
你需要明白
xmlns
是一个非常特殊的属性。基本上,xmlns=""
是这样的:Customer
元素位于“未命名”名称空间中,而不是http://othernamespace
名称空间(同样地,对于其他将从其祖先继承默认名称空间的元素)如果你想摆脱
xmlns=""
,你基本上需要把元素放到合适的名称空间中——所以它改变了元素名。我不认为W3C API允许您更改元素的名称——您可能需要使用适当的名称空间名称创建一个新元素,并复制内容。或者,如果您负责创建文档,只需使用正确的名称空间即可