Java 如何正确使用org.w3c.xml.Document#importNode
请注意,SOAPHeader是扩展节点和元素接口: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、
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