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 :

Parser un fichier XML


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de nounouuuuu201186
    Femme Profil pro
    Stagiaire
    Inscrit en
    Juillet 2011
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 169
    Par défaut Parser un fichier XML
    Bonsoir,
    je suis en train de parser un fichier xml et mettre le contenu dans un fichier texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     nodes = doc.getElementsByTagName("title");
                Node node = doc.getDocumentElement();
    ......
    for (int i = 0; i < nodes.getLength(); i++) {
                    element = (Element) nodes.item(i);
     
                    System.out.println("Description: " + readNode(element, "description"));
                    FileWriter myFile = new FileWriter("fichier"+i,true); 
                    myFile.write(readNode(element, "description").toString());
                    myFile.close();
    mon problème se présente comme ceci: le fichier est créé mais reste vide.
    Pouvez-vous m'aider?
    Merci

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Oui... Et elle fait quoi la méthode readNode() ?

    Par ailleurs, il vaudrait mieux poser cette question dans le forum Java, section XML.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé Avatar de nounouuuuu201186
    Femme Profil pro
    Stagiaire
    Inscrit en
    Juillet 2011
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 169
    Par défaut
    merci
    je vais voir votre lien

  4. #4
    Membre confirmé Avatar de nounouuuuu201186
    Femme Profil pro
    Stagiaire
    Inscrit en
    Juillet 2011
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 169
    Par défaut
    voici la methode readNode():
    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
     
        /**
         * Méthode permettant de retourner ce que contient un noeud
         * @param _node le noeud principal
         * @param _path suite des noms des noeuds sans espace séparés par des "|"
         * @return un string contenant le valeur du noeud voulut
         */
     
        public String readNode(Node _node, String _path) {
     
            String[] paths = _path.split("\\|");
            Node node = null;
     
            if (paths != null && paths.length > 0) {
                node = _node;
     
                for (int i = 0; i < paths.length; i++) {
                    node = getChildByName(node, paths[i].trim());
                }
            }
     
            if (node != null) {
                return node.getTextContent();
            } else {
                return "";
            }
        }

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    ... et getChildByName() ?...

    Enfin bon, à moins que cette méthode fasse vraiment des choses horribles, le fichier que tu crées devrait contenir exactement ce qui s'affiche avec "Description: " dans System.out.

    Je vois pas que dire de plus.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé Avatar de nounouuuuu201186
    Femme Profil pro
    Stagiaire
    Inscrit en
    Juillet 2011
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juillet 2011
    Messages : 169
    Par défaut
    voici la methode getChildByName():
    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
    /**
         * renvoye le nom d'un noeud fils a partir de son nom
         * @param _node noeud pricipal
         * @param _name nom du noeud fils
         * @return le noeud fils
         */
        public Node getChildByName(Node _node, String _name) {
            if (_node == null) {
                return null;
            }
            NodeList listChild = _node.getChildNodes();
     
            if (listChild != null) {
                for (int i = 0; i < listChild.getLength(); i++) {
                    Node child = listChild.item(i);
                    if (child != null) {
                        if ((child.getNodeName() != null && (_name.equals(child.getNodeName()))) || (child.getLocalName() != null && (_name.equals(child.getLocalName())))) {
                            return child;
                        }
                    }
                }
            }
            return null;
        }
    le champ "Description " s'affiche pour System.out. mais il ne s'affiche pas au sein du fichier crée

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

Discussions similaires

  1. problème pour parser un fichier xml avec XML::Simple
    Par black_code dans le forum Modules
    Réponses: 3
    Dernier message: 30/01/2006, 19h32
  2. [xslt] Parser 2 fichiers XML
    Par malekms dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 30/12/2005, 12h22
  3. Parser un fichier XML
    Par Charlinecha dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 11/07/2005, 17h18
  4. [SAX] parser un fichier xml en Java
    Par royou dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/02/2005, 17h12
  5. parser des fichier .xml en perl
    Par djibril dans le forum Modules
    Réponses: 13
    Dernier message: 18/05/2004, 17h08

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