附加两个XmlObjects

时间:2016-07-13 17:21:27

标签: java xml xmlbeans

我有两个使用XmlBeans的XmlObjects。我想附加一个XmlObject作为另一个的元素。

举个例子:

XmlObject 1:

<Object1>
    <attr><attr/>
    <attr><attr/>
<Object1/>

XmlObject 2:

<Object2>
    <attr><attr/>
    <attr><attr/>
<Object2/>

附加XmlObject:

<Object1>
    <attr><attr/>
    <attr><attr/>
    <Object2>
         <attr><attr/>
         <attr><attr/>
    <Object2/>
<Object1/>

我找到了一些使用NodeLists进行合并的链接,但它们似乎并不是我想要的。任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:0)

我通过使用DOM Documents来解决这个问题。 XmlBeans自然地转换为DOM文档。从那里,您可以使用附加方法添加子节点。添加节点后,您可以将文档解析回XmlObject。

请参阅以下内容:

XmlObject xmlObject = ...;
XmlObject xmlObject1 = ...;

Document myDoc = myXmlObject.getMyXmlObject().getDomNode().getOwnerDocument();
Node newNode = myDoc.importNode(myXmlObject2.getMyXmlObject().getDomNode(), true);
myDoc.getDocumentElement().appendChild(newNode);
XmlObject obj = XmlObject.Factory.parse(myDoc);

obj是新附加的文档,作为XmlObject。