Demande d'aide sur les documents xml et jdom

cs_karima25 Messages postés 4 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 5 février 2012 - 4 févr. 2012 à 17:31
cs_karima25 Messages postés 4 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 5 février 2012 - 5 févr. 2012 à 14:51
Salut,
SVP si vous pouvez me aidez à écrire un programme en eclipse en utilisant jdom, qui permet d'afficher les nœuds d'un document xml par niveaux.
Par exemple on a le document suivant:
<?xml version="1.0" encoding="UTF-8" ?>
-
- <etudiant classe="p2">
<nom>Cyno</nom>
-
Nicolas


Laurent





</etudiant>
- <etudiant classe="p1">
<nom>Superwomen</nom>
</etudiant>
- <etudiant classe="p1">
<nom>Don Corleone</nom>
</etudiant>



Résultat:
niveau o: personnes
niveau 1: etudiant etudiant etudiant
niveau 2: nom prenoms nom nom
niveau 3 : prenom prenom

aidez-moi svp , Merci d'avance.

2 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
4 févr. 2012 à 20:19
Bonjour,

Qu'est ce qui te poses problème ? As tu cherches un tutoriel sur JDom ?

Je ne le ferai pas à ta place...
0
cs_karima25 Messages postés 4 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 5 février 2012
5 févr. 2012 à 14:51
Bonjour monsieur Julien39 et merci pour ta réponse
voici mon programme qui j'ai écrit :
import java.io.*;
import java.util.Iterator;
import java.util.List;
import org.xml.sax.*;
import org.jdom.filter.*;
import org.jdom.*;
import org.jdom.input.*;

public class Niveau
{
static org.jdom.Document document;
static Element racine;

public static void main(String[] args){
SAXBuilder sxd = new SAXBuilder();
try{
document= sxd.build(new File ("C:\\Documents and settings\\ Administrateur\\workspace\\Jjdom\\exercice2.xml"));
} catch(Exception e){}

racine=document.getRootElement();
System.out.println("niveau 0" +" " + document.getRootElement());
afficheALL();
}
static void afficheALL(){
List list =racine.getChildren();
System.out.println("niveau 1"+ " " + racine.getChildren());
Iterator i=list.iterator();

while(i.hasNext()) {
Element courant=(Element)i.next();
System.out.println("niveau 2" + " " + courant.getChildren());
}
}
}

ce programme me permet seulement d'afficher les nœuds des 3 premiers niveaux , mon problème et comment pour un document quelconque avec un n niveaux de nœuds (ou de profondeur n) je peux afficher tout les nœuds de ce document dans chaque niveau.

j'espère que vous pouvez me aidez mnt, merci d'avance.
0
Rejoignez-nous