【发布时间】:2021-08-05 08:42:32
【问题描述】:
我正在尝试将节点附加到 xml 文件中的正文元素,如下所示:
Document document2 = db.newDocument();
Node node = document2.importNode(document.getFirstChild(), true);
envelope.getBody().addBodyElement(QName.valueOf("com:createLicense")).appendChild(node);
我得到了这个例外:
org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it.
at java.xml/com.sun.org.apache.xerces.internal.dom.ParentNode.internalInsertBefore(ParentNode.java:355)
at java.xml/com.sun.org.apache.xerces.internal.dom.ParentNode.insertBefore(ParentNode.java:286)
at java.xml/com.sun.org.apache.xerces.internal.dom.NodeImpl.appendChild(NodeImpl.java:230)
at com.sun.xml.messaging.saaj.soap.impl.ElementImpl.appendChild(ElementImpl.java:234)
at SOAPClientSAAJ.createSoapEnvelope(SOAPClientSAAJ.java:106)
at SOAPClientSAAJ.createSOAPRequest(SOAPClientSAAJ.java:157)
at SOAPClientSAAJ.callSoapWebService(SOAPClientSAAJ.java:139)
at SOAPClientSAAJ.main(SOAPClientSAAJ.java:47)
有什么建议/解决方案吗?
【问题讨论】:
-
document2是envelope.getBody()后面的文件还是另一个文件?您可能在代码中使用三个文档,而不是两个。 -
是的,你是对的。我正在处理三个文档。