Bonjour,
je m'initie à la navigation et au parsage de fichier XML avec la librairie JDOM, seulement je bloque sur une méthode récursive que j'ai nommé getElementsByTagName.
Voici le code que j'ai :
Donc en gros j’appelle la fonction getNodeValueByTagName() en lui passant l'url d'un fichier XML, ainsi que le nom d'un de ses élément, et le but est qu'il doit me renvoyer le valeur de cet élément.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 public static String getNodeValueByTagName(String tag, URL url){ SAXBuilder parser = new SAXBuidler(); Document doc = parser.build(url); Element root = doc.getRootElement(); Element result = getElementsByTagName(tag, root); return result.getValue(); } public static getElementsByTagName(String tag, Element elt){ List allChildren = elt.getChildren(); Iterator itr = allChildren.iterator(); while (itr.hasNext()) { Element child = (Element) itr.next(); if(child.getName.equals(tag)){ return child; }else{ getElementsByTagName(tag, child); return null; } } }
Donc je bloque à la deuxième fonction qui est récursive et doit parcourir l'arborescence du XML en cherchant le bon élément qui porte le bon nom.
Sauf qu'il ne me renvoie pas du tout ce que je veux.
Vous auriez une petite idée, je suis sur que c'est tout con, mais j'ai essayé trop de trucs pour y voir encore clair![]()
Partager