我正在尝试将节点从一个文档导入到另一个文档:
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/