Я реализую простой алгоритм, который анализирует XML файл и применяет его узлы на основе значения атрибута в узле. Я извлекаю все узлы и вставляю весь узел в отсортированный ArrayList. Затем я создал новый XML-документ и создал новые и теги, но когда я пытаюсь скопировать отсортированный узел и добавить его в исключение, которое все еще используется в другом документе. я использую
Node sortedCnode= cNode.cloneNode(false); //tried true as well
b.appendChild(sortedCnode);
Я думаю, что мой код пытается добавить все true. Но я не знаю, как это сделать
XML выглядит ниже
<A>
<B>
<C>
<D>
</D>
<E>
</E>
</C>
</B>
</A>
я понял
для копирования узла из исходной DOM в целевой DOM ниже следует использовать
targetBNode.appendChild(targetDOC.adoptNode(sourceCnode.cloneNode(true)));
Более полный ответ доступен здесь от Jherico: Как скопировать DOM-узлы из одного документа в другой в Java.
Подводя итог, вам необходимо:
Jherico предоставляет два метода: один использует cloneNode() и acceptNode(), который совпадает с принятым ответом. Однако существует метод ярлыков с использованием importNode() в документе, который выполняет обе эти операции для вас.
targetBNode.appendChild(targetDOC.importNode(sourceCnode, true));