Bonjour, voilà mon problème:
j'ai un document xml comme-ci:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <archives>
<experience>
<num>fiche1</num>
<personne>
<nom>Dupont</nom>
<prenom>Jean</prenom>
</personne>
</experience>
<experience>
<num>fiche2</num>
<personne>
<nom>Smith</nom>
<prenom>John</prenom>
</personne>
</experience>
</archives> |
Je veux supprimer la fiche 1, et je n'arrive pas à le faire, voici mon code:
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 27 28 29 30
|
Document document;
SAXBuilder sxb = new SAXBuilder();
try{
document = sxb.build(new File("archives.xml");
//L'on initialise un nouvel element racine avec l'element racine du document.
Element racine = document.getRootElement();
String element=("experience");
//Dans un premier temps on liste toutes les expériences
List listExperience = racine.getChildren(element);
Iterator i = listExperience.iterator();
//On parcours la liste grâce à un iterator
while(i.hasNext())
{
Element courant = (Element)i.next();
if(courant.getChild("num")!=null)
{
if(num.equals("fiche1")){
courant.removeChild(element);
}
}
}
Format format = Format.getCompactFormat().setEncoding("ISO-8859-1");
XMLOutputter sortie = new XMLOutputter(format);
sortie.output(document, new FileOutputStream(new File("nouveau.xml")));
}
catch(Exception e){} |
Mais ça ne foctionne pas...ça ne me supprime pas la fiche 1....par contre si je fais
courant.removeChild("num");
ça me supprimera le noeud num de la fiche 1....
Comment faire pour supprimer le noeud experience de la fiche 1 et tous les noeuds enfants de experience pour cette fiche1????
Merci de votre aide!!![/code]
Partager