Bonjour a tous
Je travaille sur une appli qui traite du xml (quelle surprise
).
Avant toute chose, je suis en JRE 1.4.2 et je ne peux ni upgrader en 1.5 (pas à l'ordre du jour) ni rajouter de librairies externes (comme Jdom).
Ce que je veux faire, c'est lire un fichier xml et supprimer TOUS les noeuds fils qu'il contient.
le fichier xml :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <?xml version="1.0" encoding="ISO-8859-1"?>
<observer>
<date1 nom="date1" oblig="false" />
<date2 nom="date2" oblig="true" />
<date3 nom="datebis" oblig="false" />
<date4 nom="Date4" oblig="true" />
<date7 nom="Date7" oblig="true" />
<nombre1 nom="nombre1" oblig="true" />
<nombre2 nom="nombre2" oblig="false" />
<nombre5 nom="nombre5" oblig="false" />
<text1 nom="text1" oblig="true" type="champ">
<val /><val />
</text1>
<text4 nom="textlist2" oblig="false" type="liste" >
<val>valeur 1</val><val>valeur 2</val>
</text4>
<text5 nom="text5" oblig="true" type="champ">
<val /><val />
</text5>
<text6 nom="text6" oblig="false" type="champ">
<val /><val />
</text6>
</observer> |
(c'est un résumé mais ça montre l'organisation)
pour supprimer je pensais bêtement faire ça
1 2 3 4 5 6 7
| private void empty() {
NodeList list = racineObserver.getChildNodes();
for(int i = 0; i< list.getLength();i++ ){
Node n = (Node) list.item(i);
racineObserver.removeChild(n);
}
} |
mais lors du transform, il ne se passe rien (le fichier xml reste inchangé). Une autre info, j'ai recupéré l'exemple de code du parser et du transformer depuis la FAQ dvp.
Le nom de tous les noeuds possibles est connu d'avance donc j'ai essayé de faire
NodeList list = racineObserver.getElementsByTagName();
Mais c'est vraiment très moche et très lourd (enfin je trouve).
Une idée ?
S'il vous manque des informations, n'hésitez pas à me demander (je pense néanmoins avoir mis l'essentiel).
Partager