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 :

Les fonctions JDOM


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Par défaut Les fonctions JDOM
    Bonjour, sans vouloir critiquer jdom, j'ai suivi l'exemple du parsing XML assez simple sur ce lien (partie 3) : http://cynober.developpez.com/tutori...a/xml/jdom/#L3

    Mais voilà je n'ai pas eu le résultat escompté.

    Les fonctions que j'utilise me renvoie presque tout le temps null.

    par exemple getChildren("childNodeName") ne me donne pas le noeud que je voudrais. Si vous avez des indications à ce sujet

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Il n'y a pas d'exemple contenant getChildren("childNodeName") dans le tutoriel en question.

    Pourrais-tu nous montrer ce qui ne se comporte pas comme tu veux ? (Exemple de code Java, exemple de XML lu avec ce code Java, et résultat attendu.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Par défaut
    Bonsoir, à la partie 3.2, il y a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     List listEtudiants = racine.getChildren("etudiant");
    Sinon, c'est la fonction que ne fonctionne pas, je pense que comme la racine est un noeud unique, et que dans la fonction, le system.out.println s'exécute que dans le while avec le i.hasNext qui suppose qu'on a un noeud frere, c'est peut être pour ça

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par estmars Voir le message
    Bonsoir, à la partie 3.2, il y a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     List listEtudiants = racine.getChildren("etudiant");
    Je viens de faire tourner l'exemple de la partie 3.2, et j'ai le résultat annoncé... Pas toi ?

    Note que l'exemple en question fait un très, très vilain catch() vide, ce qui fait que si le programme ne trouve pas ton fichier .xml, ou bien si le fichier .xml a été mal copié/collé et ne fonctionne plus, le programme se termine sans rien faire, sans erreur.
    Ton problème est peut-être là : il faut enlever le try-catch et gérer les exceptions potentielles. Genre déclarer throws Exception dans main(), pour que le programme affiche les Exception produites.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti Avatar de obtuli31
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 43
    Par défaut ajouter un étudiant
    Bonjour,

    le post est ancien, j'ai testé l'exemple du tuto indiqué sur jdom.

    Mais il manque un exemple important : comment créer 2 étudiants dans le fichier xml ? (il y a une exemple pour la lecture)

    si j'ajoute :
    Element etudiant2 = new Element("etudiant");
    racine.addContent(etudiant2);

    ça plante en indiquant que "etudiant" existe déjà

    une idée ?

    merci

    ob

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par obtuli31 Voir le message
    si j'ajoute :
    Element etudiant2 = new Element("etudiant");
    racine.addContent(etudiant2);
    En ajoutant ça à quoi ?

    Citation Envoyé par obtuli31 Voir le message
    ça plante en indiquant que "etudiant" existe déjà
    Je ne pense pas qu'un message de ce genre puisse arriver avec juste JDOM et le code que tu viens de montrer.
    Si c'est le cas, prouve-le.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. doc sur les fonctions
    Par masterfab dans le forum C
    Réponses: 18
    Dernier message: 23/06/2005, 17h55
  2. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 13h58
  3. Réponses: 11
    Dernier message: 22/12/2003, 21h06
  4. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04
  5. Réponses: 7
    Dernier message: 24/05/2003, 15h56

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