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 :

Récupération du texte d'un élément XML‎


Sujet :

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

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 57
    Points : 34
    Points
    34
    Par défaut Récupération du texte d'un élément XML‎
    Bonjour tt le monde ‎
    Je suis entrain de faire un traitement d’un contenu d’un document XML et pour cela j’utilise ‎le jdom pour le parser , et dans le jdom il y a une méthode qui récupère le contenu #Pcdata je ‎veux dire le contenu texte qui élément. getText() ; mais sa ne marche pas chez moi j’essai ‎d’afficher ce contenu mais sa ne marche pas, a l’affichage il me laisse de l’espace vide a la ‎place du texte et je n’es aucune erreur je vous donne un exemple : ‎
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     ‎…….‎
    SAXBuilder builder = new SAXBuilder();‎
    try {//OutputStream sortie=new FilterOutputStream(sortie);‎
       Document document=  builder.build(document_choisi);//parser le ‎document choisi
       Element racine = document.getRootElement();// recuperer l'element ‎racine
       System.out.println(racine.getChildren());// un simple teste la sa marche ‎
    ‎    System.out.println(racine.getText());// sa ne marche pas ,  il ne m’affiche ‎rien ‎
    ‎………..‎
    Si quelqu’un a une idée sur la cause de cette faille bizarre qu’il n’hésite surtout pas a me la ‎donnée et je serai très reconnaissante ‎

    Merci ; ‎
    Bon courage a tt le monde ‎

    [ Modéré par Viena ]
    Ajout d'un tag et modification du titre : Pour la compréhension de tous, utilisez un titre clair et les tags ! merci.
    Ajout balises de code : Pensez aux balises [code], votre message est plus lisible et la lecture plus facile.

    Les Règles du Forum

  2. #2
    Membre actif Avatar de scifire
    Inscrit en
    Juillet 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 226
    Points : 245
    Points
    245
    Par défaut Aucun probleme
    Ca depend de ton document XML et le fait qu'on ne voit pas le resultat ca ne veut pas dire qu'il n'y en a pas

    Test ce code:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    package tmp;
     
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
     
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
     
    public class Demo {
        public static void main(String[] args) {
            String fName = "book.xml";
            SAXBuilder builder = new SAXBuilder();
            Document document = null;
            Element root = null;
            FileReader reader = null;
            try {
                reader = new FileReader(fName);
                document = builder.build(reader);
                root = document.getRootElement();
                System.out.println(root.getText());
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (JDOMException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (reader != null) {
                        reader.close();
                    }
                } catch (Exception e) {
                }
            }
        }
    }
    sur le fichier suivant book.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0"?>
    <books>
        <book>
            <title>Java</title>
            <pages>534</pages>
        </book>
        <book>
            <title>Python</title>
            <pages>567</pages>
        </book>
    </books>
    sur la console tu vas pas avoir un resultat visuel. Mais remplace le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(root.getText());
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(root.getText().length());
    et tu verras qu'on a une chaine de caracteres de longeur 5
    Si tu changes le contenu du fichier book.xml par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0"?>
    <books>
        Un peu de text
        <book>
            <title>Java</title>
            <pages>534</pages>
        </book>
        <book>
            <title>Python</title>
            <pages>567</pages>
        </book>
    </books>
    Tu vas bien avoir ton text. Peut-etre dans ce cas il sera mieux utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(root.getTextTrim());
    Voila j'espere que cela va t'aider.
    A+
    Even the biggest journey, starts with a single step.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 57
    Points : 34
    Points
    34
    Par défaut
    Bonjour, ‎

    Merci pour ta réponse scifire peu être je vais l'utiliser si je n'arrive pas a régler le problème ‎autrement mais pour te dire encore une chose plus bizarre c'est que le texte des sous élément ‎s'affiche normalement mais celui des élément fils directement de la racine (du premier niveau ‎sa ne marche pas) donc si quelqu’un peut me dire pourquoi sa ne s’affiche pas ou a une idée ‎sur la cause, je serai très reconnaissante ‎

    Merci encore une fois scifire ‎
    Je vais essayé ta solution et si sa marche je te rends la réponse ‎
    Merci
    Bonne journée a tt le monde‎

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/07/2012, 14h53
  2. [DOM] Inclure un élément XML au milieu d'une portion de texte
    Par Yogui dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 04/07/2007, 12h47
  3. Comment générer un fichier texte à partir d'un XML et XSL
    Par Jayceblaster dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 24/07/2005, 22h42
  4. Récupération du texte d'un lien hypertext
    Par -=ET=- dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/05/2005, 17h08
  5. Problème de récupération de texte de formulaire
    Par bigourson dans le forum Langage
    Réponses: 4
    Dernier message: 15/09/2004, 16h27

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