2009-12-01 6 views
0
<root> 
<elm id="1"/> 
<elm id="2"/> 
<elm id="3"/> 
<elm id="4"/> 
</root> 

Je veux partir id = « 2 » dans le Royaume,
comment peut-domj4 pour enlever les trois autres?élément supprimer dans dom4j

Résultat:

<root> 
<elm id="2"/> 
</root> 

Répondre

4

Qu'avez-vous fait jusqu'à présent? Eh bien, j'irais de zéro.

  • Essayez d'obtenir le Document en utilisant DocumentHelper.parseText(xmlStr)

  • obtenir ensuite l'élément racine du document à l'aide Document.getRootElement()

  • Après avoir obtenu l'élément racine, vous pouvez boucle à travers tous les éléments de l'enfant à l'aide des éléments. getElements() ou ses variantes, et vérifiez les attributs de chaque élément en utilisant Element.getAttributes() ou ses variantes. Après la détermination des trois éléments, qui ne sont pas nécessaires. Vous pouvez utiliser la méthode detach() pour les supprimer du document. Par exemple elm1.detach(), elm2.detach(), et elm4.detach(). Mieux encore faire une liste de ces éléments, vous voulez supprimer, puis detach() dans une boucle.

Cheers.

REMARQUE: La méthode Document.remove (Element elem) ne fonctionnera pas si l'élément n'est pas l'enfant immédiat. Pour plus voir le docs.

Questions connexes