XML: Comment parser un fichier xml simplement, pour en ressortir des éléments et
max_95
Messages postés9Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention 3 juin 2008
-
7 janv. 2004 à 11:32
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
17 août 2007 à 09:19
J'aurais besoin d'aide pour parser un fichier xml.
J'aimerais lire un fichier xml, puis afficher les informations contenues dans ce fichier dans une listbox. Puis a partir de cette liste, pouvoir selectionner une ligne, et que cette ligne s'affiche dans plusieurs textbox, pour modifier cette ligne.
J'aimerais que ce fichier s'affiche dans une listbox avec pour chaque ligne prenant cette forme:
id nom prenom login password categorie email telephone adresse npa ville
(note: l'id ici est un attribut )
Et lorsque je clique sur une ligne, cela m'affiche dans chaque textbox correspondante, l'id, le nom le prenom, etc...
Il y aurait donc 11 textbox.
J'ai essayé de trouver un tutorial me permettant de faire cela, mais je n'arrive pas a trouver, et j'avoue que je suis débutant en VB...
Quelqu'un pourrais svp me montrer le code pour arriver a ce resultat? C'est assez urgent, et je commence a desesperer...
J'ai trouver sur le site de vbfrance un code affichant le fichier xml dans un treeview, mais je ne trouve pas cela très ergonomique dans mon cas..
Je vous remercie d'avance pour votre aide!!!
(j'ai fait un copier coller d'une ancieene question car j'ai le même problème mais y a pas de réponse sur le forum...)
max
A voir également:
XML: Comment parser un fichier xml simplement, pour en ressortir des éléments et
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 7 janv. 2004 à 15:17
'ajouter une listbox list1
'ajouter une textbox txtname
'ajouter une reference a mxml micr.. XML dans le menu projet
'ne fonctionne que sous vb6 fonction split
Public documentXML As New DOMDocument
Public clients As IXMLDOMNodeList
Public client As IXMLDOMNode
Function LoadDocument()
documentXML.async = False
documentXML.Load "c:\\test.xml"
Set clients = documentXML.selectNodes("//clients/client")
For Each client In clients
List1.AddItem client.selectSingleNode("@id").Text & " - " & client.selectSingleNode("nom").Text
Next client
End Function
Private Sub Form_Load()
Call LoadDocument
End Sub
Private Sub List1_Click()
Dim tab1 As Variant
Dim id As String
tab1 = Split(List1.List(List1.ListIndex), " - ")
id = tab1(0)
Set client = documentXML.selectSingleNode("//client[@id='" & id & "']/nom")
txtName.Text = client.Text
End Sub
Le code n'est pas complet mais je pense que tu arrivera a trouver comment le completer ;-)
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 7 janv. 2004 à 16:45
'ajouter une listbox list1
'ajouter une textbox txtname
'ajouter une reference a mxml micr.. XML dans le menu projet
'ne fonctionne que sous vb6 fonction split
'lvwclient une listview
Public documentXML As New DOMDocument
Public clients As IXMLDOMNodeList
Public client As IXMLDOMNode
Function LoadDocument()
Dim Item As ListItem
Dim id As String
Dim nom As String
documentXML.async = False
documentXML.Load "c:\\test.xml"
Set clients = documentXML.selectNodes("//clients/client")
For Each client In clients
Set Item = lvwClient.ListItems.Add
id = client.selectSingleNode("@id").Text
nom = client.selectSingleNode("nom").Text
List1.AddItem id & " - " & nom
Item.Text = id
Item.SubItems(1) = nom
Next client
End Function
Private Sub Form_Load()
lvwClient.View = lvwReport
Dim ch As ColumnHeader
Set ch = lvwClient.ColumnHeaders.Add(, , "Id")
Set ch = lvwClient.ColumnHeaders.Add(, , "Nom")
lvwClient.FullRowSelect = True
Call LoadDocument
End Sub
Private Sub List1_Click()
Dim tab1 As Variant
Dim id As String
tab1 = Split(List1.List(List1.ListIndex), " - ")
id = tab1(0)
Set client = documentXML.selectSingleNode("//client[@id='" & id & "']/nom")
txtName.Text = client.Text
End Sub
Private Sub lvwClient_ItemClick(ByVal Item As MSComctlLib.ListItem)
Set client = documentXML.selectSingleNode("//client[@id='" & Item.Text & "']/nom")
txtName.Text = client.Text
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 7 janv. 2004 à 16:54
labout
Donnes moi ton adresse eMail je t'envoie l'exemple
Si tu ne souhaites pas la donner, la mienne est
boutresse@normandnet.fr
Contacte moi
Je ne mets pas sur le source, je ne mets plus de VB seulement des .Net et puis les remarques sont souvent peu agréables.
omarjock
Messages postés14Date d'inscriptiondimanche 12 novembre 2000StatutMembreDernière intervention 7 avril 2008 17 août 2007 à 08:48
bonjour j'ai besoin d'aide urgent.
je suis entrain de developper une application en vb pour la lecture de fichier log de serveur.
le probleme c'est que j'ai besoin d'une fonction permettant d'extraire le texte entre deux texte a savoir "cell {" et "}".
svp c'est urgent et merci
voici mon mail : omarjock@yahoo.fr
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 17 août 2007 à 09:19
Salut
regardes du coté des regexp l'exemple est en C# mais facilement traduisible en VB.net
ou même en VB6 (je crois que la scripting library contenant les regexp est sur me meme principe)
Sinon il suffit de prendre une chaine à partir de la position X à la position Y avec un substring