Parser un fichier XML

Résolu
Signaler
Messages postés
18
Date d'inscription
samedi 2 janvier 2010
Statut
Membre
Dernière intervention
7 décembre 2011
-
Messages postés
18
Date d'inscription
samedi 2 janvier 2010
Statut
Membre
Dernière intervention
7 décembre 2011
-
Bonsoir,
je suis en train de parser un fichier xml et mettre le contenu dans un fichier texte.
 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.
voici la methode readNode():
    /**
     * 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 la valeur du noeud voulu
     */
 
    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 "";
        }
    }

Pouvez-vous m'aider?
Merci

4 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
363
Bonjour,

Une seule possibilité : _node est null, dans ce cas, ta tonction retrourne "". Lances le programme en mode debug ou fait des sysout pour voir ce qui se passe exactement.

Cette ligne ne sert à rien if (paths != null && paths.length > 0), dans tous les cas, paths contiendra au moins un élément et si _path est null, une exception sera levée avant.
Messages postés
18
Date d'inscription
samedi 2 janvier 2010
Statut
Membre
Dernière intervention
7 décembre 2011

merci. Le problème est réglé

Pense à mettre ton sujet résolu stp en cliquant sur le bouton "réponse acceptée" du post de Julien39 :D


--
Pylouq
Messages postés
18
Date d'inscription
samedi 2 janvier 2010
Statut
Membre
Dernière intervention
7 décembre 2011

merci Pylouq pour l'information