Java 如何正确使用org.w3c.xml.Document#importNode

Java 如何正确使用org.w3c.xml.Document#importNode,java,xml,Java,Xml,请注意,SOAPHeader是扩展节点和元素接口: Document docToAppend= getDoc(); final SOAPHeader soapHeader = getSoapHeader(); final Node importNode = soapHeader.getOwnerDocument().importNode(docToAppend.cloneNode(true), true); soapHeader.appendChild(importNode); i、

请注意,SOAPHeader是扩展节点和元素接口:

 Document docToAppend= getDoc();
 final SOAPHeader soapHeader = getSoapHeader();
 final Node importNode = soapHeader.getOwnerDocument().importNode(docToAppend.cloneNode(true), true);
 soapHeader.appendChild(importNode);
i、 e.我想将
docToAppend
附加到
soapHeader
节点

但它例外地失败了:

原因:org.w3c.dom.domeException:不受支持\u错误:错误 实现不支持请求的对象或对象类型 手术


我认为我的代码不正确。

SOAPHeader对象只能有SOAPHeaderElement对象作为其直接子对象。

有相同的错误不受支持

DOMResult dom = new DOMResult(); 
getTransformer().transform(new StAXSource(xmlr), dom);
Node node = dom.getNode();
document.appendChild(document.importNode(node, true));  // <---- Error
DOMResult dom=newdomresult();
getTransformer().transform(新的StatxSource(xmlr),dom);
Node=dom.getNode();
document.appendChild(document.importNode(node,true))//
System.out.println("Node type is [" + dom.getNode().getNodeType() + "]");
----
Node type is [9]  <---- DOCUMENT_NODE
node = dom.getNode().getFirstChild();
System.out.println("Node type is [" + node.getNodeType() + "]");
document.appendChild(document.importNode(node, true));
----
Node type is 1 <---- ELEMENT_NODE