我正在尝试将节点从一个文档导入另一个文档:
DocumentBuilder db = dbf.newDocumentBuilder();
DocumentBuilder db2 = dbf2.newDocumentBuilder();
Document doc1 =parser.buildDoc(message.getBytes("UTF-8"));
Document doc2 = db2.parse(new FileInputStream(new File("C:\\Temp\\workspace2\\Resource2Q\\xml_template.xml")));
NodeList list = doc1.getElementsByTagName("Form");
for(int i=0; i<list.getLength(); i++)
{
Element element = (Element) list.item(i);
Node copiedNode = doc1.importNode(element, true);
doc2.getDocumentElement().appendChild(copiedNode); ...
最后一行代码告诉我:“WRONG_DOCUMENT_ERR:节点用于与创建节点不同的文档中。”
为什么会这样?我正在导入节点。
答案 0 :(得分:1)
Node copiedNode = doc1.importNode(element, true);
应该是
Node copiedNode = doc2.importNode(element, true);
该节点来自doc1,您想将其导入doc2。不是doc1,它已经来自。