有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    你需要明白xmlns是一个非常特殊的属性。基本上,xmlns=""是这样的:Customer元素位于“未命名”名称空间中,而不是http://othernamespace名称空间(同样地,对于其他将从其祖先继承默认名称空间的元素)

    如果你想摆脱xmlns="",你基本上需要把元素放到合适的名称空间中——所以它改变了元素名。我不认为W3C API允许您更改元素的名称——您可能需要使用适当的名称空间名称创建一个新元素,并复制内容。或者,如果您负责创建文档,只需使用正确的名称空间即可