Probleme parser un XML [Résolu]

Signaler
Messages postés
383
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
1 décembre 2008
-
Messages postés
383
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
1 décembre 2008
-
Bonjour à tous,

J'ai une question de newbie (pour une fois :aie:).

Bon c'est sur que le XML et moi, on s'entend pas mais quand meme, je ne comprends pas pourquoi je n'arrive pas à récupérer le chemin des "noeuds" du XML :

XML :
<?xml version= "1.0" encoding="UTF-8"?>

       
        <loc>http://www.zonegeeks.com</loc>
        <lastmod>2008-01-20</lastmod>
        <changefreq>weekly</changefreq>
        1.0

    



Code vb.net :
    Private Sub TraiteXml()
        Dim doc As XPathDocument  = New XPathDocument("Y:\Zonegeeks\google-sitemap.xml")
        Dim nav As XPathNavigator = doc.CreateNavigator
        Dim iter As XPathNodeIterator = nav.Select("Et c'est la je sais pas quoi mettre...")

        While iter.MoveNext
            Dim firstValue As String = iter.Current.SelectSingleNode("loc").Value
            Dim secondValue As String = iter.Current.SelectSingleNode("lastmod").Value
            Dim thirdValue As String = iter.Current.SelectSingleNode("changefreq").Value
            Dim fourValue As String = iter.Current.SelectSingleNode("priority").Value
        End While
    End Sub


C'est dans le cadre d'un programme pour créer facilement des sitemap pour google.

Merci à tous

3 réponses

Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
5
Salut,

Pourquoi passer par un XPath?

J'ai créé une nouvelle form, je lui ai ajouté une ListView en mode "Détails" avec 4 colonnes. J'ai pris ton bout de code XML et je l'ai mis dans un fichier, j'ai plusieurs fois collé la node (pour en avoir plusieurs)

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LoadXml()
    End Sub

    Private Sub LoadXml()
        Dim doc As New Xml.XmlDocument
        doc.Load("C:\essai.xml")

        For Each elem As Xml.XmlElement In doc.DocumentElement.ChildNodes
            Dim ListItem As ListViewItem = ListView.Items.Add(elem.ChildNodes(0).InnerText)
            ListItem.SubItems.Add(elem.ChildNodes(1).InnerText)
            ListItem.SubItems.Add(elem.ChildNodes(2).InnerText)
            ListItem.SubItems.Add(elem.ChildNodes(3).InnerText)
        Next
    End Sub

Ce qui donne:
Messages postés
266
Date d'inscription
mardi 7 septembre 2004
Statut
Membre
Dernière intervention
30 avril 2009

Tu  n'utilise pas les bon namespace, c'est cela qu'il faut utiliser pour exploiter un fichier xml:

Dim fichier_xml
As Xml.XmlDocument =
New Xml.XmlDocument

Dim noeuds
As Xml.XmlNodeList

Dim noeud
As Xml.XmlNode
slts!

--------------------------------------------------
Toujours + de VB et d'API => APi @ le Loupe
http://apialaloupe.free.fr
Messages postés
383
Date d'inscription
samedi 29 janvier 2005
Statut
Membre
Dernière intervention
1 décembre 2008

Merci parce que je suis très bête et nul dans ce domaine :)