Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1829 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] DOM : Recherche d'informations dans un fichier xml

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] DOM : Recherche d'informations dans un fichier xml

n°654636
antsite
Je me souviens
Posté le 25-02-2004 à 15:56:09  profilanswer
 

Salut
 
Je ne vois pas comment récupérer le texte contenu dans un element de mon fichier .xml
le code suivant montre que je récupère un "Element" sur ce que je veux, mais après comment à partir de cette interface Element avoir accès au contenu texte du noeud ?
Comment avoir non pas une interface Element mais Text, ce qu'il me faudrait...
 

Code :
  1. DocumentBuilderFactory docBF = DocumentBuilderFactory.newInstance();
  2. try
  3. {
  4.    DocumentBuilder docB = docBF.newDocumentBuilder();
  5.    Document doc = docB.parse("fichier.xml" );
  6.    NodeList list = doc.getElementsByTagName("toto" );
  7.    for(int i=0;i<list.getLength();i++)
  8.    {
  9.        //list.item(x) est un "Element", comment récupérer son texte ?
  10.        Element t = (Element)list.item(i);
  11.                
  12.        System.out.println(t.getNodeValue()); //renvoie null, c'est normal car Element, cf doc
  13.    }
  14. ...


merci
   ANT

mood
Publicité
Posté le 25-02-2004 à 15:56:09  profilanswer
 

n°654684
LAs3R
Posté le 25-02-2004 à 16:09:19  profilanswer
 

Code :
  1. t.getFirstChild().getNodeValue()

n°654685
El_gringo
Posté le 25-02-2004 à 16:09:24  profilanswer
 

j'imagine que tu veux le texte compris entre tes balises <toto> et </toto>. Pour ça, il faut que tu récupères le node, fils du Node que tu as là. Dont le nom sera #text
Enfin, je sais pas si c'est la seule/la meilleure méthode, mais j'ai fait comme ça moi.


---------------
Les Vers Solitaires, on aime ... ou pas !
n°654705
benou
Posté le 25-02-2004 à 16:14:58  profilanswer
 

Code :
  1. /** return all the text contained in the Element (the text nodes are concatened)
  2.  *  @return never null : empty elements return ""  
  3.  */
  4. public static String getText(Element elem) {
  5.  NodeList nl = elem.getChildNodes();
  6.  StringBuffer buffer = new StringBuffer();
  7.  for (int i = 0; i < nl.getLength(); i++) {
  8.   Node node = nl.item(i);
  9.   if (node.getNodeType() == Node.TEXT_NODE) {
  10.    buffer.append(node.getNodeValue());
  11.   }
  12.  }
  13.  return buffer.toString();
  14. }


Message édité par benou le 25-02-2004 à 16:15:24

---------------
ma vie, mon oeuvre - HomePlayer

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] DOM : Recherche d'informations dans un fichier xml

 

Sujets relatifs
[Java] Hierarchie / Diagramme des classeslogiciel pour programmer en JAVA
[XML/FLASH] menu flash avec fichier xmlComment lire un fichier xml en c++
renommer nom fichier avec espace"unable to initialize threads: cannot find class java/lang/Thread"
[JAVA]Connaitre le repertoire à partir d'un File ?[C] Fichier spécifié à la ligne de commande au démarrage d'un program
Fichier tronqué[Java] Comment déterminer la valeur de chaque bit d'un byte ?
Plus de sujets relatifs à : [Java] DOM : Recherche d'informations dans un fichier xml


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR