2010-07-12 3 views
0

Je suis en train de supprimer et ajouter des nœuds similaires dans un arbre de documentsajouter un nœud dans le document en java

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); 

quel serait le moyen idéal pour ajouter l'élément à doc? la boucle de suppression fonctionne très bien

+0

Non, en fait je besoin de quelque chose comme <élém attrsn = « 1 »> Bonne ce que je veux faire est de prendre toute et modifier les attributs et textes et ajouter un nombre indéfini des noeuds. J'ai juste besoin d'un noeud pour la référence, que je change des attributs et ajoute à la doc. Je clone d'abord le 0e et en supprimant tous s. puis, tout en ajoutant doc.appendChild (changedElem) je reçois une erreur de séquence d'exception, quelque chose comme ça – mynameisanthpny

Répondre

0

Quelque chose comme cela devrait ajouter un élément:

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

Cela va créer un nouvel élément enfant <foo/> et ne fonctionnera que si le parentElm est du même document que doc. Il existe également une version de l'espace de noms susceptible d'être plus utile dans des situations réelles.

Si vous devez ajouter un nouvel élément à une position exacte parmi plusieurs frères et sœurs existants (insérez un élément entre deux enfants existants), vous pouvez obtenir une référence à ce dernier et utiliser la méthode insertBefore.

Questions connexes