2012-01-27 3 views
1

У меня возникли проблемы с анализом некоторого XML с использованием DefaultHandler2. Мой XML имеет следующий вид:Java Node.appendNode удаление предыдущих элементов

<nodeA> 
    <nodeB></nodeB> 
    <nodeB></nodeB> 
</nodeA> 

Я пытаюсь создать DOM документа в формате XML, однако в соответствии с Javadoc о Node. appendChild:

«Добавляет newChild узел в конец списка детей данного узла Если newChild уже в дереве, он сначала удаляется..»

Таким образом, элемент 1-го узлаB удален, мне интересно, как добавить одноименные узлы с одинаковым именем, используя класс Document. Любая информация об этом будет замечательной, спасибо!

+0

Можно ли добавить атрибут, что-то вроде id (или) так? таким образом, можно дифференцировать два узла? – kosa

ответ

1

Node.appendChild удалит и повторно добавит узел только в том случае, если это тот же экземпляр, а не тип. Таким образом, вы должны добавлять новые экземпляры типов дочерних узлов каждый раз, а не изменять и повторно использовать один и тот же объект.

+0

Обнаружены мои методы на самом деле, но Node.getTextContent() работает иначе, чем я ожидал. Примите, так как это действительно отвечает на исходный вопрос. – blackbourna

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