Listox et xml [Résolu]

Messages postés
26
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
4 mars 2010
- - Dernière réponse : goredo
Messages postés
26
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
4 mars 2010
- 3 févr. 2010 à 16:09
bonjour,
je suis en stage dans une entreprise et je voudrais récuperer une chaine dans mon xml,ici :

<?xml version="1.0" encoding="utf-8" ?>

<!-- description des objet par Types -->
<!-- -->
<quincaillerie>
<objet Type="Ferrure">
<Texts>
init
<Language>Fr</Language>
<Dim_A>(A) Dim_A </Dim_A>
</Texts>
<Ref>262.26.246</Ref>
</objet>
</quincaillerie>

j aimerais ici récupérer le contenu de la balise ref et la mettre dans une liste box.
Cependant,ce fichier xml n'est qu'un extrait et il contient plusieurs ref et je pense qu'il me faut une boucle pour ajouter a ma lisbox toute les reférence.

j'arrive à les récupérer dans une msgbox mais ce n'est pas le but rechercher ( et si 1000 ref 1000 msgbox heu... ^^ )

si quelqu'un peut m'aider =)
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
140
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
1 novembre 2010
5
3
Merci
Re,

OpenFile("monFich.xml")


ce code sans autre indication cherche automatiquement le fichier indiqué dans le Debug de ton application.
Si ce fichier est stocké ailleurs, là il faut indiquer le chemin pour que l'application sache où le trouver.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_christoni
Messages postés
140
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
1 novembre 2010
5
0
Merci
Bonjour,
imaginons que la source XML soit de la construction suivante :

<?xml version="1.0" encoding="utf-8" ?>
<!-- description des objet par Types -->
<!-- -->
<quincaillerie>
  <objet Type="Ferrure">
    <Texts>
      init
      <Language>Fr</Language>
      <Dim_A>(A) Dim_A </Dim_A>
    </Texts>
    <Ref>262.26.246</Ref>
  </objet>
  <objet Type="Paumelles">
    <Texts>
      init
      <Language>Fr</Language>
      <Dim_A>(A) Dim_A </Dim_A>
    </Texts>
    <Ref>1.1</Ref>
  </objet>
  <objet Type="Fer">
    <Texts>
      init
      <Language>Fr</Language>
      <Dim_A>(A) Dim_A </Dim_A>
    </Texts>
    <Ref>2.2</Ref>
  </objet>
</quincaillerie>


On peut passer par le DOM avec le code suivant :

    Dim ds As DataSet = New DataSet
    Dim factBindingSource As BindingSource = New BindingSource

    Private Sub OpenFile(ByVal fichier As String)

        '*** Représente un document XML en mémoire et charge les données XML spécifiées
        Dim doc As XmlDocument = New XmlDocument()
        doc.Load(fichier)

        '*** Sélectionne une liste de nœuds correspondant à l'expression XPath recherchée,
        '    et les stocke dans une collection 
        Dim nodeList As XmlNodeList
        Dim root As XmlElement = doc.DocumentElement
        nodeList = root.SelectNodes("/quincaillerie/objet/Ref")

        '*** Reste à les récupérer dans la ListBox.
        For Each ref As XmlNode In nodeList
            ListBox1.Items.Add(ref.InnerXml)
        Next

    End Sub


Et sans oublier d'importer l'espace de noms XML, comme suit :

Imports System.Xml


Et d'appeler cette sub d'une façon ou d'une autre comme par exemple un Button :

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        '*** "fichier" est le nom du fichier (SANS oublier son chemin).
        OpenFile("monFich.xml")
    End Sub
Commenter la réponse de cs_christoni
Messages postés
26
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
4 mars 2010
0
Merci
merci beaucoup pour cette répons
Cependant pour ce qui est de définir la source de mon xml il va la chercher dans :

C:\Users\Admin\AppData\Local\Temporary Projects\WindowsApplication1\bin\Debug

aurais-je mal définie le chemin à emprunter?

merci beaucoup encore une fois :)
Commenter la réponse de goredo
Messages postés
26
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
4 mars 2010
0
Merci
Ok merci beaucoup pour tout ;)
Commenter la réponse de goredo