Parser un fichier XML

Résolu
nounouuuuu2010 Messages postés 18 Date d'inscription samedi 2 janvier 2010 Statut Membre Dernière intervention 7 décembre 2011 - 14 oct. 2011 à 18:46
nounouuuuu2010 Messages postés 18 Date d'inscription samedi 2 janvier 2010 Statut Membre Dernière intervention 7 décembre 2011 - 16 oct. 2011 à 10:46
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

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
14 oct. 2011 à 21:22
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.
3
nounouuuuu2010 Messages postés 18 Date d'inscription samedi 2 janvier 2010 Statut Membre Dernière intervention 7 décembre 2011
15 oct. 2011 à 12:49
merci. Le problème est réglé
0
Utilisateur anonyme
15 oct. 2011 à 19:19
Pense à mettre ton sujet résolu stp en cliquant sur le bouton "réponse acceptée" du post de Julien39 :D


--
Pylouq
0
nounouuuuu2010 Messages postés 18 Date d'inscription samedi 2 janvier 2010 Statut Membre Dernière intervention 7 décembre 2011
16 oct. 2011 à 10:46
merci Pylouq pour l'information
0