monpseudonom
Messages postés38Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention24 février 2010
-
6 mai 2008 à 01:27
bensFouad
Messages postés39Date d'inscriptionlundi 16 avril 2007StatutMembreDernière intervention11 mai 2008
-
6 mai 2008 à 23:31
Salut.
J'ai un fichier qui a la structure suivante:
<element>
<type>type</type>
<x>12</x>
<tag>
<name>nom</name>
<value>valeur</valeur>
</tag>
</element>
sachant que le nombre de balise <tag> est varaible.Ce que je veux c'est de recuperer les valeurs des balise name et value pour tous les balises tag.Pour cela,j'ai utilisé ce bout de code:
Iterator i = listElement.iterator();
while(i.hasNext())
{
Element courant = (Element)i.next();
List listTag = courant.getChildren("tag"...
Iterator j = listTag.iterator();
int d=0;
while(j.hasNext())
{
Element tag = (Element)j.next();
bensFouad
Messages postés39Date d'inscriptionlundi 16 avril 2007StatutMembreDernière intervention11 mai 2008 6 mai 2008 à 01:47
Salut,
Ton code n'est pas lisible du tout!!, essaye ce code la :
List list = racine.getChildren("tag");
Iterator it = list.iterator();
while (i.hasNext()) {
Element courant = (Element) it.next();
System.out.println(courant.getChild("name").getText());
System.out.println(courant.getChild("value").getText());
}
a+
bensFouad
Messages postés39Date d'inscriptionlundi 16 avril 2007StatutMembreDernière intervention11 mai 2008 6 mai 2008 à 23:31
Salut,
ok, j'ai compris, essaye ça,en tous ca ça marche chez moi, supposons qu'on a ton fichier xml (je l'ai nommé Exemple.xml) ressemble à ça :
<diagram>
<element>
<type>type</type>
<x>12</x>
<tag>
<name>nom</name>
<value>valeur</value>
</tag>
<tag>
<name>nom2</name>
<value>valeur2</value>
</tag>
</element>
<element>
<type>type2</type>
<x>17</x>
<tag>
<name>nom3</name>
<value>valeur3</value>
</tag>
</element>
</diagram>
Le code suivant doit marcher, et affichera dans la console :
nom
valeur
nom2
valeur2
nom3
valeur3
CODE:
import java.io.File;
import java.util.Iterator;
import java.util.List;
racine = document.getRootElement();
List list = racine.getChildren("element");
Iterator it = list.iterator();
while (it.hasNext()) {
Element courant = (Element) it.next();
List list2 = courant.getChildren("tag");
Iterator it2 = list2.iterator();
while(it2.hasNext()){
Element element = (Element)it2.next();
System.out.println(element.getChild("name").getText());
System.out.println(element.getChild("value").getText());
}