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 :

getChildren(String) return empty List [JDOM]


Sujet :

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

  1. #1
    Membre éclairé Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Par défaut getChildren(String) return empty List
    Bonjour à tous,

    Je suis confronté à une erreur un peu bizarre donc je me permets de me tourner vers vous.
    J'ai un fichier .xmi (rien de bien fou)
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <Dictionary>
        <TopLevelEntry/>
        <TopLevelEntry/>
        <TopLevelEntry/>
    ...
        <TopLevelEntry/>
    </Dictionary>
    Et bien quand je fait un simple getChildren(), il me renvoie bien la liste contenant tous les enfants mais si je fais un getChilden("TopLevelEntry"), il me renvoie une liste vide. (même problème avec le getChild(String))
    Une idée du pourquoi du comment ?

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    xml est insensible à la casse. Tu peux mettre ce que tu veux comme casse dans le fichier, ar convention, tous les noeuds xml portent un nom entièrement en minuscule. Donc tu dois faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getChildren("toplevelentry")

  3. #3
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    Je pariais qu'on ne s'en prend une déclaration de namespace comme si rien y était; et que plus probablement elle est une déclaration de namespace par défaut (du type xmlns="xyz"). Pour faire un test rapide, on peut faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //supposons le document xml est chargé de par une variable appelée document
    Element racine=document.getRootElement();
    //au lieu de 
    //List<Element> list=racine.getChildren("TopLevelEntry");
    //faire comme ceci 
    List<Element> list=racine.getChildren("TopLevelEntry", racine.getNamespace());
    Voir ce que ça donne ?

  4. #4
    Membre éclairé Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Par défaut
    Bonjour Messieurs,

    J'ai testé vos 2 méthodes et j'ai un gagnant.
    Tchize, bien essayé mais ce n'était malheureusement pas la bonne solution.
    Et donc, tsuji, félicitation, pour cette intuition et surtout merci.

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    xml est insensible à la casse. Tu peux mettre ce que tu veux comme casse dans le fichier, ar convention, tous les noeuds xml portent un nom entièrement en minuscule.
    Tu dois confondre avec autre chose. XML lui-même, et JDOM en particulier, est tout à fait sensible à la casse et à beaucoup d'autres détails d'écriture.
    On peut imaginer des bibliothèques qui proposent une navigation insensible à la casse, mais ce n'est pas l'usage.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Effectiviement, des années que je me trompe à ce sujet visiblement, et sans jamais casser un xml à cause de ça
    En même temps, il est d'usage de mettre les tags en minuscule :p

  7. #7
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    il est d'usage de mettre les tags en minuscule
    Je pense on ne devrait pas élever une préférence personnelle jusqu'au niveau d'usage de l'industrie. Juste une parenthèse !

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Je pense que de toute ma vie, je n'ai toujours vu que des xml en minuscule Ce n'est pas unepréférence personnelle, je n'ai jamais défini de format xml de ma vie

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

Discussions similaires

  1. inserer une string dans une liste de string
    Par la_reine dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 14/05/2008, 08h07
  2. yield return et liste générique ?
    Par Thomas Lebrun dans le forum C#
    Réponses: 4
    Dernier message: 18/07/2007, 13h16
  3. Réponses: 6
    Dernier message: 14/07/2007, 11h36
  4. Conversion String Collection en List <String>
    Par Seth77 dans le forum Framework .NET
    Réponses: 2
    Dernier message: 21/11/2006, 09h57
  5. [JDOM] getChildren(String) ordonné?
    Par mavina dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 03/07/2006, 11h47

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