Parsage un petit problème
Bonsoir ;)
J'ai suivi le tuto qui se trouve ici: http://cynober.developpez.com/tutoriel/java/xml/jdom/
Tout marche impeccable avec ces exemples.
Cependant, j'ai modifié le .xml, comme ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <?xml version="1.0" encoding="utf-8"?>
<SimplyBus>
<ligne>
<nom>Ligne 7:Lilo</nom>
<arret>A</arret>
<arret>B</arret>
<arret>C</arret>
<arret>D</arret>
<arret>E</arret>
</ligne>
<ligne>
<nom>Ligne 1:Lola</nom>
<arret>F</arret>
<arret>G</arret>
<arret>H</arret>
<arret>I</arret>
<arret>J</arret>
</ligne>
</SimplyBus> |
J'arrive pas à parser les différents arrêts :? J'arrive à parser à chaque fois le premier arret mais après j'y arrive pas.
Voici ma class JAVA:
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| package com.graph;
import java.io.*;
import java.net.URL;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.filter.*;
import org.xml.sax.InputSource;
import java.util.List;
import java.util.Iterator;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
public class JODM2
{
static org.jdom.Document document;
static Element racine;
public static String[][] parser()
{
//On crée une instance de SAXBuilder
SAXBuilder sxb = new SAXBuilder();
try
{
//On crée un nouveau document JDOM avec en argument le fichier XML
//Le parsing est terminé ;)
URL url = new URL("http://192.168.1.13/www/essai.xml");
document = sxb.build(url);
}
catch(Exception e){}
//On initialise un nouvel élément racine avec l'élément racine du document.
racine = document.getRootElement();
String infos[][]=null;
//Méthode définie dans la partie 3.2. de cet article
infos=afficheALL();
return infos;
}
static String[][] afficheALL()
{
//On crée une List contenant tous les noeuds "etudiant" de l'Element racine
List listLigne = racine.getChildren("ligne");
int j=0;
int v=0;
String infos[][] = new String[10][1000];
//On crée un Iterator sur notre liste
Iterator i = listLigne.iterator();
while(i.hasNext())
{
//On recrée l'Element courant à chaque tour de boucle afin de
//pouvoir utiliser les méthodes propres aux Element comme :
//selectionner un noeud fils, modifier du texte, etc...
Element courant = (Element)i.next();
//On affiche le nom de l'element courant
v=0;
infos[j][v]=courant.getChild("nom").getText();
v++;
infos[j][v]=courant.getChild("arret").getText();
v++;
infos[j][v]=courant.getChild("arret").getText();
j++;
}
return infos;
}
} |
Cordialement