我有两个相同的文档,我想将一个或多个元素从文档附加到anotehr。但是,当我这样做时,我会收到类似“Null Exception”的错误
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>
Java代码编写如下:
// docCurrent and docNew is already filled with the same syntax
NodeList nlC = docCurrent.getElementsByTagName("elementVar1");
NodeList nlN = docNew.getElementsByTagName("elementVar1");
Element elementNew = (Element)nlN.item(3);
Element element = (Element)nlC.item(1);
element.getParentNode().appendChild(elementNew); // The error Null Exception occurrs here
是否有任何不同的方法从doc获取元素并将其附加到另一个doc中?
答案 0 :(得分:0)
好吧,我设法将一个元素子元素附加到另一个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);
这对我有用。
此致