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 :

Accéder aux différentes nodes [JDOM]


Sujet :

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

  1. #1
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 82
    Points : 81
    Points
    81
    Par défaut Accéder aux différentes nodes
    Bonjour,

    J'ai un fichier XML comme celui là:
    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
    <Candidate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://ns.hr-xml.org/2004-08-02 Candidate.xsd"
     xmlns="http://ns.hr-xml.org/2004-08-02"
     xmlns:oa="http://www.openapplications.org/oagis"
     xmlns:xhtml="http://www.w3.org/1999/xhtml"
     xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
     xml:lang="en">
    	<CandidateProfile>
    		<PersonalData>
    			<PersonDescriptors>
    				<BiologicalDescriptors>
    					<DateOfBirth>1974-05-12</DateOfBirth>
    				</BiologicalDescriptors>
    			</PersonDescriptors>
    		</PersonalData>
    	</CandidateProfile>
    	<Resume>
    		<StructuredXMLResume>
    			<ContactInfo>
    				<PersonName>
    					<GivenName>John</GivenName>
    					<FamilyName>Glen</FamilyName>
    					<Nationality>Français</Nationality>
    					<relationship>Free lance</relationship>
    					<DateStartIt>
    						<Year>1980</Year>
    					</DateStartIt>	
    				</PersonName>
    (...)
    Et j'essaie d'atteindre les enfants de personName, j'ai essayé tout sorte de code dont :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SAXBuilder sxb = new SAXBuilder();
          try
          {
             document = sxb.build(new File("nomDuFichier.xml"));
          }
          catch(Exception e){}
     
          racine = document.getRootElement();
          Element test = racine.getChild("Resume").getChild("StructuredXMLResume").getChild("ContactInfo").getChild("PersonName");
          System.out.println(test.getChildText("GivenName"));
    Mais il me dit que je pointe vers un élément null, j'ai aussi essayé en mettant directement le GivenName sans les autres 'getChild()', mais cela ne fonctionne pas ... j'ai cherché sur plusieurs tutoriels, mais pas moyen de trouver comment faire, je tourne en rond depuis plusieurs heures ...
    QUelqu'un aurait une idée ?

    D'avance merci !

    Seth

  2. #2
    Membre confirmé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technophile Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Points : 467
    Points
    467
    Par défaut
    il est où ton root element ?

  3. #3
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 82
    Points : 81
    Points
    81
    Par défaut
    Dans le XML, c'est <candidate> sinon c'est la variable racine.

  4. #4
    Membre averti Avatar de Rei Angelus
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 292
    Points : 356
    Points
    356
    Par défaut
    Es-tu sûr que document est bien initialisé étant donné que tu ignores l'exception ?

    Chez moi, il n'apprécie pas du tout le "ç" de <Nationality>Français</Nationality>

  5. #5
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 82
    Points : 81
    Points
    81
    Par défaut
    Et bien un collegue de travail m'a aidé, il fallait juste que je mette un namespace dans le 'getChild()' comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Element test = racine.getChild("Resume", Namespace.getNamespace("http://ns.hr-xml.org/2004-08-02"));
    Merci de l'aide ^^

    Ps: Aucun problème avec le ç de Français, je viens de tester

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/02/2008, 14h18
  2. [ASP.NET2.0] Comment accéder aux différentes Sessions ?
    Par mainecoon dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/06/2007, 10h19
  3. Réponses: 3
    Dernier message: 25/05/2007, 00h01
  4. Réponses: 17
    Dernier message: 16/10/2005, 21h01
  5. Avis aux experts : accéder aux dimensions d'un tableau.
    Par poulpi dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/11/2004, 09h09

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