在DOM Java文档的DOM中间追加一个子元素

在DOM Java文档的DOM中间追加一个子元素,java,xml,dom,Java,Xml,Dom,我有两个相同的文档,我想将文档中的一个或多个元素附加到anotehr。然而,当我这样做的时候,我会得到像“Null异常”这样的错误 XML的语法与下面的示例相同: <var1 code="1"> <elementVar1 attribute1="0" attribute2="67" attribute3="SP-5046"/> <elementVar1 attribute1="0" attribute2="63" attribute3="SP-5042"/>

我有两个相同的文档,我想将文档中的一个或多个元素附加到anotehr。然而,当我这样做的时候,我会得到像“Null异常”这样的错误

XML的语法与下面的示例相同:

<var1 code="1">
<elementVar1 attribute1="0" attribute2="67" attribute3="SP-5046"/>
<elementVar1 attribute1="0" attribute2="63" attribute3="SP-5042"/>
<elementVar1 attribute1="0" attribute2="62" attribute3="SP-5041"/>
<elementVar1 attribute1="0" attribute2="61" attribute3="SP-5040"/>
<elementVar1 attribute1="0" attribute2="48" attribute3="SP-5027"/>
<elementVar1 attribute1="0" attribute2="47" attribute3="SP-5026"/>
<elementVar1 attribute1="0" attribute2="46" attribute3="SP-5025"/>
</var1>
<var1 code="1">
<elementVar1 attribute1="0" attribute2="67" attribute3="SP-5046"/>
<elementVar1 attribute1="0" attribute2="63" attribute3="SP-5042"/>
<elementVar1 attribute1="0" attribute2="46" attribute3="SP-5025"/>
</var1>

从一个文档中获取元素并将其附加到另一个文档中有什么不同的方法吗

好的,我设法将一个元素子元素附加到另一个DOM树中

NodeList nlC = docCurrent.getElementsByTagName("elementVar1");
NodeList nlN = docNew.getElementsByTagName("elementVar1");
Element elementNew = (Element)nlN.item(3);
Node copiedNode = docNew.importNode(elementNew, true);
docCurrent.getDocumentElement().appendChild(copiedNode);
这对我有用


关于,

您确定元素和元素.getParentNode()不为空吗?我完全确定。当我调试时,我可以看到它不是空的。但是,我在没有像(element.appendChild(elementNew))这样的getParentNode()的情况下尝试了它,然后我收到了另一个错误:“DOM不能有2个这样的根目录”我明白了。尝试一下,非常感谢!我会尝试其中一些,并让您知道它是否有效
NodeList nlC = docCurrent.getElementsByTagName("elementVar1");
NodeList nlN = docNew.getElementsByTagName("elementVar1");
Element elementNew = (Element)nlN.item(3);
Node copiedNode = docNew.importNode(elementNew, true);
docCurrent.getDocumentElement().appendChild(copiedNode);