2013-12-22 5 views
0

Я пытаюсь импортировать узел из одного дока к другому:Импорта

  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

Почему бы не написать это в качестве комментария к ответу, который я дал вашему предыдущему вопросу: http://stackoverflow.com/questions/20728185/splitting-xml-nodes? –

+0

Извините, его долго ждать. –

ответ

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

должен быть

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

узел приходит из doc1, и вы хотите импортировать его в doc2. Не в doc1, откуда он уже появился.

Смежные вопросы