在DOM文档Java的DOM中间附加Element Child

时间:2014-02-21 01:18:25

标签: java xml dom

我有两个相同的文档,我想将一个或多个元素从文档附加到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中?

1 个答案:

答案 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);

这对我有用。

此致