导入节点DOM

时间:2013-12-22 10:57:16

标签: java xml dom

我正在尝试将节点从一个文档导入另一个文档:

            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:节点用于与创建节点不同的文档中。”

为什么会这样?我正在导入节点。

1 个答案:

答案 0 :(得分:1)

Node copiedNode = doc1.importNode(element, true);

应该是

Node copiedNode = doc2.importNode(element, true);

该节点来自doc1,您想将其导入doc2。不是doc1,它已经来自。