cs_aurel16
Messages postés75Date d'inscriptionsamedi 17 septembre 2005StatutMembreDernière intervention29 octobre 2010
-
3 févr. 2008 à 20:33
cs_aurel16
Messages postés75Date d'inscriptionsamedi 17 septembre 2005StatutMembreDernière intervention29 octobre 2010
-
4 févr. 2008 à 20:36
Bonjour,
Je suis en train de développer un petit logiciel en vb.net. J'aurai voulu créer une petite base de données avec deux entrées tel que un élément correpond à une valeur et je veux pouvoir récuperer cette valeur sous mon programme. Je pense que le xml couplé avec vb.net peut me satisfaire. Voila mon code xml ( base.xml ) :
Comment faire pour afficher cela sous les noms des voitures sous un listbox ? Je voudrais aussi que lorsque que l'on clique sur le nom, la valeur de la puissance apparaisse.
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 4 févr. 2008 à 11:48
Salut,
Voici un exemple complet sans utilisation de XPath (plus simple à mon gout). Une solution parmis bcp d'autres.
1. Ajouter ListBox1 et Label1 sur une form
2. Création d'une classe décrivant une voiture:
Public Class Voiture
Public Nom As String
Public Puissance As String
' Pour que le nom s'affiche dans la ListBox:
Public Overrides Function ToString() As String
Return Nom
End Function
End Class
3. Chargement du document XML et affichage des éléments:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' Charger le document XML
Dim doc As New Xml.XmlDocument
doc.Load("C:\essai.xml")
' Parcourir chaque éléments se trouvant dans la node "Voiture"
For Each elem As Xml.XmlElement In doc.DocumentElement("voiture").ChildNodes
' Création d'une classe voiture et attribution des valeurs
Dim voiture As New Voiture
voiture.Nom = elem.InnerText ' Valeur
voiture.Puissance = elem.GetAttribute("type") ' Attribut "Type"
' Ajout à la ListBox
ListBox1.Items.Add(voiture)
Next
End Sub
4. Affichage de la puissance lorsque on clique sur l'un des Item de la ListBox
Private Sub List_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles List.SelectedIndexChanged
' Récupérer l'objet Voiture à partir de l'élément de la ListBox
Dim voiture As Voiture = ListBox1.SelectedItem
' Afficher la puissance dans lblPuiss
Label1.Text = voiture.Puissance
End Sub
cs_aurel16
Messages postés75Date d'inscriptionsamedi 17 septembre 2005StatutMembreDernière intervention29 octobre 2010 3 févr. 2008 à 22:46
j'utilise ce code source :
Dim xpathDoc As XPathDocument
Dim xmlNav As XPathNavigator
Dim xmlNI As XPathNodeIterator
xpathDoc = New XPathDocument("c:\base.xml")
xmlNav = xpathDoc.CreateNavigator()
xmlNI = xmlNav.Select("/logiciel/voiture")
While (xmlNI.MoveNext())
listbox1.items.add(xmlNI.Current.Value)
End While
Mais je n'arrive qu'à afficher les marques de voiture comment affiche leur puissance ?