добавить узел в документе в Java - PullRequest
0 голосов
/ 12 июля 2010

Я пытаюсь удалить и добавить похожие узлы в дереве документов

Element firstItem = (Element) links.item(0);
Element element = (Element)firstItem.cloneNode(true);
int length = links.getLength();
while (0 != length) {
    System.out.println("removing element #" + l + " Length: " + length);
    Element link1 = (Element) links.item(0);
    Element parentElm = (Element) link1.getParentNode();
    parentElm.removeChild(link1);
    length--;
}

// this gives a null pointer exception           
doc.getParentNode().insertBefore(element, null); 

что было бы идеальным способом добавить элемент в документ? петля удаления работает нормально

1 Ответ

0 голосов
/ 12 июля 2010

Что-то вроде следующего добавит элемент:

Element newElement = doc.createElement("foo");
parentElm.appendChild(newElement);

Это создаст новый дочерний элемент <foo/> и будет работать, только если parentElm из того же документа, что и doc.Есть также версия с поддержкой пространства имен, которая, вероятно, будет более полезна в реальных ситуациях.

Если вам нужно добавить новый элемент в точное положение среди нескольких существующих братьев и сестер (скажем, вставить элемент между двумя существующимидети) вы можете получить ссылку на последнего брата и использовать метод insertBefore .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...