从以前自己博客转过来的:
1
2
3
|
Document doc =
new
Document(File);
Element root =
new
Element(
"root"
);
doc.setRootElement(root);
|
下面希望将一个第三方数据加为root的子元素
1
2
3
4
|
String xml = getThirdInterfaceXML();
StringReader sr =
new
StringReader(xml);
Document thirdDoc= builder.build(sr);
Element thirdRoot= thirdDoc.getRootElement();
|
由于root中的parent不为空,上层节点invoke addContent时如果被添加的element中的parent不为空,则抛出异常addNode失败,所 以此时应该清空parent
Parent p = thirdRoot.getParent();
p.removeContent(thirdRoot);
必须编写以上两行代码,否则由于thirdDoc和thirdRoot之间存在父子关系,而我们调用addContent代码时,JDOM会判断 parent如果不为空,则直接抛出异常org.jdom.IllegalAddException: The element "*******" could not be added as the root of the document: The Content already has an existing parent document
最后调用代码
root.addContent(thirdRoot);
调用成功