org.w3c.dom节点appendChild(Node newChild)没有删除现有元素

时间:2012-09-03 14:01:10

标签: java xml-parsing

在java xml文件中,我尝试使用appendchild将元素添加到连接节点。我希望现有的服务器节点被替换为新值,但它没有发生。

我看到in the documentation for this function将删除现有节点。

  win2k8

1 个答案:

答案 0 :(得分:0)

javadoc说:

  

将节点newChild添加到此节点的子节点列表的末尾。 如果newChild已在树中,则会先将其删除。

这并不意味着将替换具有相同名称的标签。这意味着,如果Node对象已经在父对象中,它将首先被删除,并且它是关于传递对已经添加到父对象的Node的引用,而不是关于XML标记。

如果您想用自己的XML元素替换现有的XML元素,我建议首先找到(通过迭代NodeList returned form getChildNodes())并使用removeChild(node)删除不需要的元素。