[XML] Parser fichier avec XMLPullParser

Fermé
patrice86 Messages postés 1378 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 1 février 2023 - Modifié par patrice86 le 17/02/2016 à 11:10
Bonjour,

Je suis entrain d'essayer de développer une application sous Android qui permet d'ajouter des flux RSS au format xml dans une base de données.

Lorsque je dois parcourir le fichier xml récupérer par un flux, je coince.
Je souhaite parcourir ce fichier xml :
https://www.lefigaro.fr/rss/figaro_culture.xml

On voit qu'il est constitué comme ceci :
<channel><item><title>TOTO</title>....</item><item><title>DUPONT</title>....</item></channel>


Je souhaite récupérer la valeur du text dans la balise title pour toutes balises item du fichier (donc ici TOTO et après DUPONT).
Je parcours donc mon fichier avec un objet de type XMLPullParser :
String title = null;
        String summary = null;
        String link = null;
        String name = null;
while (parser.next() != XmlPullParser.END_DOCUMENT) {
            if(parser.getEventType() == XmlPullParser.START_TAG) {
                name = parser.getName();
                if(name.equals("item")) {
                    if(parser.next() == XmlPullParser.START_TAG) {
                        name = parser.getName();
                        System.out.println("ITEM OK " + parser.getName());
                        if (name.equals("title")) {
                            title = readTitle(parser);
                            Log.d("6 bis/ TITLE", "var " + title);
                        } else if (name.equals("description")) {
                            summary = readSummary(parser);
                        } else if (name.equals("link")) {
                            link = readLink(parser);
                        } else {
                            //skip(parser);
                            parser.next();
                        }
                    }
                }
            }
            parser.next();
        }
        return new Entry(title, summary, link);


Je trouve bien la balise ouvrante "item", une fois dedans, j'essaie donc de la parcourir mais sans succès (a la ligne 9).
Le System.out.println("ITEM OK " + parser.getName());
affiche "ITEM OK null".
Il ne récupère pas la prochaine balise ouvrante qui se trouve dans la balise "item".
J'ai donc besoin de votre aide, je bloque complètement et j'ai beau chercher sur le web, je ne comprends pas le fonctionnement je pense.

Merci =)