[JAVA-JDOM] Accéder aux différentes nodes

Accéder aux différentes nodes [JAVA-JDOM] - Java - Programmation

Marsh Posté le 30-05-2008 à 09:55:39    

Bonjour,
 
J'ai un fichier XML comme celui là:

Code :
  1. <Candidate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://ns.hr-xml.org/2004-08-02 Candidate.xsd"
  3. xmlns="http://ns.hr-xml.org/2004-08-02"
  4. xmlns:oa="http://www.openapplications.org/oagis"
  5. xmlns:xhtml="http://www.w3.org/1999/xhtml"
  6. xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
  7. xml:lang="en">
  8. <CandidateProfile>
  9.  <PersonalData>
  10.   <PersonDescriptors>
  11.    <BiologicalDescriptors>
  12.     <DateOfBirth>1974-05-12</DateOfBirth>
  13.    </BiologicalDescriptors>
  14.   </PersonDescriptors>
  15.  </PersonalData>
  16. </CandidateProfile>
  17. <Resume>
  18.  <StructuredXMLResume>
  19.   <ContactInfo>
  20.    <PersonName>
  21.     <GivenName>John</GivenName>
  22.     <FamilyName>Glen</FamilyName>
  23.     <Nationality>Français</Nationality>
  24.     <relationship>Free lance</relationship>
  25.     <DateStartIt>
  26.      <Year>1980</Year>
  27.     </DateStartIt>
  28.    </PersonName>
  29. (...)


 
Et j'essaie d'atteindre les enfants de personName, j'ai essayé tout sorte de code dont :

Code :
  1. SAXBuilder sxb = new SAXBuilder();
  2.       try
  3.       {
  4.          document = sxb.build(new File("nomDuFichier.xml" ));
  5.       }
  6.       catch(Exception e){}
  7.       racine = document.getRootElement();
  8.       Element test = racine.getChild("Resume" ).getChild("StructuredXMLResume" ).getChild("ContactInfo" ).getChild("PersonName" );
  9.       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

Reply

Marsh Posté le 30-05-2008 à 09:55:39   

Reply

Marsh Posté le 30-05-2008 à 10:20:06    

Le plus simple pour extraire des données d'un fichier XML est d'utiliser XPath.


---------------
Light is right
Reply

Marsh Posté le 30-05-2008 à 11:03:46    

J'ai trouvé, c'était un problème de namespace :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed