IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

Parcourir les fichiers XML [DOM]


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre du Club Avatar de blackhock
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 75
    Points : 41
    Points
    41
    Par défaut Parcourir les fichiers XML
    Bonjour à tous ;
    Mon problème maintenant est le suivant, mon fichier XML à évoluer et il ressemble plutôt à ça ;
    Code XML : 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
    23
    24
    25
    26
    27
    28
     
    <racine>
    		<toto>
    			<titi	titiName = "Salut
    				<tutu		tutuName = "salut encore	
    					<file	      fileName = "resalut"></file>
    					<file 	fileName = "resalut2"></file>
    				</ tutu >
    				<tutu		tutuName = "reresalut
    					<file 	fileName = "salutos"></file>
    					<file 	fileName = "hi"></file>
    				</ tutu >
     
     
    				< tutu	PkgName = "Encore tutu">
    <file	      fileName = "salut2"></file>
    					<file 	fileName = "salut3"></file>
     
    				</ tutu >
    				< tutu	PkgName = "Encore tutu">
     
    			... . . . . etc etc	
    				</ tutu > 
    			</titi>
    . . . etc (encore des titi et des tutu...)
    		</toto>
    		<toto>
    </racine>

    Et qu’est que je veux faire c’est pour chaque balise ‘titi ‘ je récupère l’attribut tititName avec ses attributs tutuName et file Name, ainsi de suite à chaque fois que je tombe sur un titiName je répète l’opération, en gros comment je récupère dans un fichier XML une balise mère et ses filles.
    NB : le code que j’utilise pour lire mes balises est le suivant
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    	DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    	DocumentBuilder builder = null;
    	Document doc = null;
    	Element root = null;
    	try {
    		builder = factory.newDocumentBuilder();
    		doc = builder.parse("File.xml");
    		root = doc.getDocumentElement();
    		NodeList listNo = null;
     
    		listNo = root.getElementsByTagName("titi");
    		for (int i = 0; i < listNo.getLength(); i++) {
    			Element e = (Element) listNo.item(i);
    			Test1 = e.getAttribute("titiName ");
    		}
    		NodeList listNo2 = null;
    		listNo2 = root.getElementsByTagName("tutu");
    		for (int j = 0; j < listNo2.getLength(); j++) {
    			Element e2 = (Element) listNo2.item(j);
    			Test2 = e2.getAttribute("tutuName ");
    		}
    		/** Imports */
    		NodeList listNo3 = null;
    		listNo3 = root.getElementsByTagName("file");
    		for (int k = 0; k < listNo3.getLength(); k++) {
    			Element e3 = (Element) listNo3.item(k);
    			Test3 = e3.getAttribute("fileName ");
    		}
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    Sachant que quand je fais un getter pour récupérer mon test1 par exemple j’ai que le dernier élément, en sortant de la boucle bien sur

    Merci pour toute aide

  2. #2
    Membre du Club Avatar de blackhock
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 75
    Points : 41
    Points
    41
    Par défaut
    Bonjour à tous,
    Permettez moi de revenir relancer mon sujet peut être je trouverai ma solution,
    en fait je veux juste que vous m'indiquez comment parcourir mon fichier pour récupérer les attributs, mais pour chaque tag je récupère que ces attributs à lui, je m'explique quand je rentre dans le premier tag "tutu" je récupère les attributs "file" rangés ensemble, ensuite pour le deuxième tag "tutu" je récupère ces attributs "file" ... etc.
    Merci pour toute aide, elle sera bienvenue...

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Bonjour,
    Il ne devrait pas y avoir d'espaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Test3 = e3.getAttribute("fileName ");
    Même s'ils sont présents dans le XML, ils n'ont pas de signification.

  4. #4
    Membre du Club Avatar de blackhock
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 75
    Points : 41
    Points
    41
    Par défaut
    Merci Morbo,
    t'as raison, en fait l'espace c'était une erreur de frappe de ma part, je l'ai enlevé mais ça ne change pas grand chose dans mon problème avec mon code pour le premier "tutu" je récupère tous les "fileName" de mon fichier, pour le deuxième "tutu" je récupère encore tous le "fileName" ...etc, et ce n'est pas ce que je veux ...!

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Il faudrait, je pense, imbriquer les boucles "for" de la même façon que les noeud sont hiérachisé et modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    root.getElementsByTagName("file");
    pour en prennant le noeud courrant.

  6. #6
    Membre du Club Avatar de blackhock
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 75
    Points : 41
    Points
    41
    Par défaut
    La solution effectivement est d’imbriqué les deux boucles, en plus il faut parcourir les files à partir de tutu(Element e2) au lieu de root ce qui donne :
    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
     
    		NodeList listNo2 = null;
    		listNo2 = root.getElementsByTagName("tutu");
    		for (int j = 0; j < listNo2.getLength(); j++) {
    			Element e2 = (Element) listNo2.item(j);
    			Test2 = e2.getAttribute("tutuName ");
     
     
    		NodeList listNo3 = null;
    		listNo3 = e2.getElementsByTagName("file");
    		for (int k = 0; k < listNo3.getLength(); k++) {
    			Element e3 = (Element) listNo3.item(k);
    			Test3 = e3.getAttribute("fileName ");
    		}
    	}
    Voila ma solution que j’ai trouvé , Merci à tous pour vos réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD17] Parcourir un fichier XML et récupérer les informations
    Par Rayanouuu dans le forum WinDev
    Réponses: 1
    Dernier message: 29/04/2014, 12h38
  2. Pb pour parcourir et comparer les fichiers xml
    Par bayouta19 dans le forum Langage
    Réponses: 22
    Dernier message: 18/04/2013, 13h50
  3. Réponses: 1
    Dernier message: 06/12/2011, 21h08
  4. [débutant]Parcourir un fichier XML
    Par Wis dans le forum ASP
    Réponses: 2
    Dernier message: 26/09/2005, 10h04
  5. [TOMCAT][XML] Ou placer les fichiers XML ?
    Par kitov dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 01/06/2004, 14h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo