嗨我在删除XML节点时遇到了麻烦。
<Instance>
<Internal>
<Attribute>
<Name>length</Name>
</Attribute>
<Name>internal</Name>
</Internal>
<Name>Instanec</Name>
</Instance>
我想删除名称节点,以便我的输出低于。
<Instance>
<Internal>
<Attribute>
</Attribute>
</Internal>
</Instance>
我尝试了以下代码:
NodeList baseElmntLst2 = doc.getElementsByTagName("Name");
for (int k = 0; k < baseElmntLst2.getLength(); k++) {
Element node = (Element) baseElmntLst2.item(k);
Element node2 = (Element) baseElmntLst2.item(k).getParentNode();
node2.removeChild(node);
}
但它不会删除我不理解的所有名称元素。
三江源
答案 0 :(得分:1)
DOM NodeList
是live collections所以如果你想以NodeList
的方式删除所有项目,那么最终会从... { for (int k = baseElmntLst2.getLength(); k >= 0; k--)
。或者使用while (baseElmntLst2.getLength() > 0) baseElmntLst2.item(0).getParentNode().removeChild(baseElmntLst2.item(0));
。