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 :

Afficher tous les champs au lieu de juste un seul.


Sujet :

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

  1. #1
    Membre à l'essai
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut Afficher tous les champs au lieu de juste un seul.
    Bonsoir;
    s'il vous plaît j'ai un code xml, je veux le transmettre en java grâce à jdom. mon problème c'est que je veux afficher tous les proto et même tous les field, mais j'ai réussi d'afficher tous les proto et la première ligne de field.

    partie de mon code java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     List list1 = racine.getChildren("proto");
     for (int i = 0; i < list1.size(); i++) {
    Element node = (Element) list1.get(i);
    System.out.println("pro " + node.getAttributeValue("name"));
    System.out.println("Hello: "+node.getChild("field").getAttributeValue("name"));
    merci d'avance.
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <packet>
      <proto name="geninfo" >
        <field name="num" >
        <field name="len" >
       </proto>
       <proto name="xxxx" >
        <field name="ggg" >
        <field name="lengg" >
        </proto>
     </packet>

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 635
    Points
    21 635
    Par défaut
    De même que tu fais une boucle pour lire tous les <proto>,

    à l'intérieur de cette boucle il faut faire une autre boucle pour lire tous les <field>

  3. #3
    Membre à l'essai
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    je vous remercie de votre réponse mais à l'intérieur de la boucle la condition d’arrêt va t'être la même que la boucle précédente ou il faut déclarer une nouvelle liste? car lorsque j'ajoute une boucle il m'affiche pour geninfo "num num" et non "num len"

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 635
    Points
    21 635
    Par défaut
    Comme je l'ai déjà dit, la même chose qu'avec <proto>.
    Pour <proto> c'était une nouvelle liste, Pour <field>, il va aussi falloir une nouvelle liste.

    Si tu as fait du nouveau code, montre-le, évidemment... -_-°

  5. #5
    Membre à l'essai
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    j'ai bien résolu l'erreur, bon si pas de dérangement j'ai besoin de votre aide une autre fois je veux afficher que les valeurs de field qui ont le name "num".s'il vous plaît j'ai besoin de ce test et je vous remercie.
    le code 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
     
    Document document = (Document) builder.build(xmlFile);
    	        Element racine = document.getRootElement();
    	        List protoss = racine.getChildren("proto");
    	        for (int i = 0; i < protoss.size(); i++) {
    	            Element proto = (Element) protoss.get(i);
    	            List fieldss= proto.getChildren("field");
     
    	            System.out.println(proto.getAttributeValue("name"));
     
    	            for (int j = 0; j < fieldss.size(); j++) {
    	            Element field = (Element) fieldss.get(j);
    	            System.out.println(field.getAttribute("name").getValue())

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 635
    Points
    21 635
    Par défaut
    Je suggère d'utiliser le concept de if(uneString.equals(uneAutreString)).

  7. #7
    Membre à l'essai
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    c'est vraiment je vous remercie bien

  8. #8
    Membre à l'essai
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    Bonsoir, j'ai ajouté une 3 éme boucle au code java précédent et je fais des testes avec (string).equals(string) par if else, lorsqu'il n'y a pas d'égalité entre les deux chaines j'ai un affichage n fois (les 3 boucles sont liés entre eux) est-il possible de vous maider et merci

  9. #9
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 635
    Points
    21 635
    Par défaut
    Comprends pas. C'est la dernière fois que je te dis de mettre le code.

  10. #10
    Membre à l'essai
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    je la résolu c'est bon merci, mais j'ai un autre exemple ou je veux tester l'ordonnancement mais j'ai pas reussi s'il vous plaît aidez moi et merci bien.
    voici le code xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <proto>
     <pack>
      <proto name="xxx"/>
      <proto name="yyy"/>
      <proto name="zzz"/>
      <proto name="kkk"/>
     </pack>
    </proto>
    et le code java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Element racine = document.getRootElement();
    List protos = racine.getChildren("proto");
    for (int i = 0; i < protos.size(); i++) {
    Element proto = (Element) protos.get(i);
     String x=proto.getAttributeValue("name");
    String x=proto.getAttributeValue("name");
    if (x.equals("xxx")){
          if (x.equals("yyy")){
                if (x.equals("zzz")){
    	           if (x.equals("kkk")){
    	        	   System.out.println("bien organisé");}}}}

  11. #11
    Membre à l'essai
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    bonjour,
    bon j'ai un fichier xml qui commence par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?xml version="1.0" encoding="UTF-8"?>
    <pdml version="0" creator="wireshark/1.2.10">
    <packet>...........................
    </packet>
    <packet>............</packet></pdml>
    mais le problème que le console ne m'affiche rien et lorsque je supprime "<pdml version="0" creator="wireshark/1.2.10">" j'obtiens un erreur au niveau de xml car il ne supporte q'ue seul balise <packet>.....</packet> et à ce stade j'obtiens un affichage, s'il vous plaît aidez moi pour que mon fichier xml supporte tous les balises <packet> et d'obtenir un affichage pour tous les balises <packet>.

  12. #12
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 635
    Points
    21 635
    Par défaut
    Pas compris, très mauvaise expression.

  13. #13
    Membre à l'essai
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    bon désolé car je parles en anglais plus meilleur que le francais,
    j'ai un fichier en xml je veux le transmettre en java grâce à jdom.
    mais rien être afficher.alors lorsque je supprime "<pdml version="0" creator="wireshark/1.2.10">" et je laisse seulement une balise <packet></packet> tout va bien.mon problème c'est que je veux parcourir tous les packet et non seulement une. Excusez moi et désolé pour le dérangement.
    ce fichier xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8"?>
    <pdml version="0" creator="wireshark/1.2.10">
    <packet name="x">
     <proto/>
       <field/>
    </packet>
    <packet name="xx">
      <proto/>
       <field/>
    </packet>
    </pdml>
    code java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     SAXBuilder builder = new SAXBuilder();
    File xmlFile = new File("aaaa.xml");
    Document document = (Document) builder.build(xmlFile);
    Element racine = document.getRootElement();
     List protos = racine.getChildren("proto");
    for (int i = 0; i < protos.size(); i++) {
    	            Element proto = (Element) protos.get(i);
    	            List fields= proto.getChildren("field");
    	            System.out.println(proto.getAttributeValue("name"));......

  14. #14
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 567
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 635
    Points
    21 635
    Par défaut
    Gérer plusieurs trucs au lieu d'un seul ?
    Voyons voir, je crois qu'on a déjà fait ça... Une boucle, peut-être ?

  15. #15
    Membre à l'essai
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    Bonsoir,
    je ne peux rien à dire sauf je vous remercie biennnnnnnn

Discussions similaires

  1. [MySQL] afficher tous les champs de la base de données
    Par cotede2 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/06/2009, 02h56
  2. Réponses: 10
    Dernier message: 17/04/2009, 17h19
  3. [MySQL] Comment afficher tous les champs d'une table?
    Par Nibor dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 08/11/2006, 20h20
  4. afficher tous les champs d'une table
    Par julio84 dans le forum ASP
    Réponses: 8
    Dernier message: 19/01/2005, 10h31
  5. Afficher tous les champs d'une table avec dbexpress et MySQL
    Par LHT dans le forum Bases de données
    Réponses: 2
    Dernier message: 25/06/2004, 17h11

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