Bonjour à tous.
Tous les exemples de manipulation de données XML que je trouve sur le site font systématiquement reférence à une hierarchisation connue du document XML à modifier .
Mon problème est tout autre : je souhaite modifier le contenu d'une balise d'un fichier XML , mais je ne connait pas son niveau de hierarchisation dans le fichier.
j'ai fait la methode suivantemon element racine est construit comme suit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 /** * @description : Cette methode recherche la 1ère balise "e" de l'element racine * et modifie sa valeur avec "v" * @param e : Element à modifier * @param v : Avec le contenu de "v" */ static void modifieElement(String e,String v) { racine.getChild(e).setText(v); }
La methode fonctionne parfaitement pour toutes les balises de niveau "1"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 /** * Lecture du fichier (on le parse) * et on initialise la racine de l'arborescence */ static void lireFichier(String fichier) throws Exception { SAXBuilder sxb = new SAXBuilder(); document = sxb.build(new File(fichier)); racine = document.getRootElement(); }
mais des qu'il sagit d'aller modifier un element plus profondement dans l'arbre : c'est not good
Le newbies java que je suit à besoin de vos conseil
Que dois-je modifier dans la methode modifieElement pour rechercher la premiere BALISE du fichier (et la modifier) quelque soit son niveau de profondeur dans le Fichier ?
Merci de votre aide
cordialement
@argoet
Partager