java - 导入节点 DOM

标签 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:节点在与创建它的文档不同的文档中使用”。

为什么会发生这种情况?我正在导入节点。

最佳答案

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

应该是

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

该节点来自doc1,您想将其导入到doc2中。不进入 doc1,它已经来自那里。

关于java - 导入节点 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20728634/

相关文章:

c++ - 我如何在 C++ 中解析 XML 网页

javascript - 使用 Javascript 替换文本框中的文本(更改大小写)

java - 依赖Spring的注解

java - 从 Android 应用程序连接到 MySQL 服务器

Ruby - 使用 REXML 查找元素

java - 将 Java 公历转换为字符串

javascript - 如何在没有所有 HTML 的情况下将焦点设置到 HTML 输入元素?

java - 如何防止 Joda Time 在巴西 DST 过渡期间抛出异常

java - 理解通用 Java 方法头

java - Spring 验证在来自 ServletContext 资源的 XML 文档中有错误