使用Java从元素中删除所有属性

时间:2014-04-28 07:05:48

标签: java dom attributes

我需要从Document中的特定元素中删除所有属性。

我如何拥有xml:

    <Book>
     <Chapter TotalNoOfWords="2000" NoOfPages="5">
       <Line LineNo="1" NumberOfWords="50"/>
     </Chapter>
    </Book>

我需要它:

    <Book>
     <Chapter>
      <Line LineNo="1" NumberOfWords="50"/>
     </Chapter>
    </Book>

我知道removeAttribute()方法。但是此方法仅删除已将名称作为参数传递给此方法的属性。我正在寻找将删除元素中的所有属性的东西。 对此有任何帮助。

1 个答案:

答案 0 :(得分:4)

假设您已经拥有指定的Node元素,请遍历所有元素并将其删除...

while (node.getAttributes().getLength() > 0) {
    Node att = node.getAttributes().item(0);
    node.getAttributes().removeNamedItem(att.getNodeName());
}

例如......