Bonjour à tous,
Comment faire la lecture d'un fichier xml à partir de vb 6.0?
Merci de m'aider
Version imprimable
Bonjour à tous,
Comment faire la lecture d'un fichier xml à partir de vb 6.0?
Merci de m'aider
Ca rappelle un peu ce sujet là, que tu as posté il y a quelques jours sans nous dire si tu avais été lire le tutoriel dont je te donnais le lien. Hors lees tutoriels sont là pour ça, pour éviter d'avoir à expliquer à chaque fois la même chose sur le forum. Si ensuite il y a quelque chose dans le tuto que tu ne comprends pas ou que tu n'arrives pas à faire, pas de pb, on essaiera de répondre à tes questions précises ;)
http://www.developpez.net/forums/sho...d.php?t=391889
Merci j'ai su comment lire à partir de fichier xml
mais je veux que les donnée soit mis dans datagrid
Je ne suis pas certain de ce que je dis là mais un datagrid est normalement lié à une base de données ? Si c'est le cas, ce n'est peut être pas le controle approprié, faudrait mieux alors un MSFlexGrid je pense.
Salut,
Sais tu comment je peux remplir flexgrid avec les donnée de fichier xml?
As tu fais des recherches toi meme avant de poser la question ? Quel code as tu écrit ?
Ce forum n'est pas un distributeur automatique.
J'ai cherché mais j'ai n'est pas trMerci de m'aider parce que je suis un étudiant
J'essaierai de t'aider dès que tu nous auras montré le code que tu as déjà écrit pour remplir ta MsFlexGrid (quoique je ne sois pas franchement habitué à utiliser ce controle).
Utilises l'aide de VB, cherche un peu sur ce site, sur Google, je serais très surpris que tu ne trouves rien au sujet du MSFlexGrid.
Salut,Citation:
Envoyé par OhMonBato
j'ai n'ai trouvé que MSFlexGrid1.AddItem qui ajoute un seul donné au msflexgrid or moi je veux ajouter beaucoup de donnée
Ben, il suffit de faire une boucle non ?
wajdiisi2007 toi y'en a comlendle ce que ohmonbato dire ?
En triple exemplaire il te le répète, je suis impressionné par sa patience !
Bonjour
Voici un exemple de document xml
<VOLALLER>
<CLEF>498725</CLEF>
<COMPAGNIE>XLF</COMPAGNIE>
<DATEDEPART>20070626</DATEDEPART>
<VILLEDEPART>PAR</VILLEDEPART>
<LIBVILLEDEPART>PARIS </LIBVILLEDEPART>
<HEUREDEPART>0755</HEUREDEPART>
<VILLEARRIVEE>Mil</VILLEARRIVEE>
<LIBVILLEARRIVEE>Milano</LIBVILLEARRIVEE>
<HEUREARRIVEE>0925</HEUREARRIVEE>
</VOLALLER>
Je veux que le résultat sera
PARIS 20070626 0755 Milano 0925
dans une MSFlexGrid
Comment faire
Merci
Citation:
Envoyé par wajdiisi2007
Citation:
Envoyé par wajdiisi2007
bon ta tout ce qu'il faut la ... tiens j'en rajoute une couche :Citation:
Envoyé par OhMonBato
;)Code:
1
2
3 MSFlexGrid1.cols = 5 MSFlexGrid1.AddItem "PARIS" & vbtab & "20070626" & vbtab & "0755" & vbtab & "Milano" & vbtab & "0925"
Bonjour,
Voici le code xml
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <REPONSE xmlns:fo="http://www.w3.org/1999/XSL/Format"> <VOLALLER> <CLEF>43525</CLEF> <COMPAGNIE>XLF</COMPAGNIE> <DATEDEPART>20070826</DATEDEPART> <VILLEDEPART>PAR</VILLEDEPART> <LIBVILLEDEPART>PARIS </LIBVILLEDEPART> <HEUREDEPART>2255</HEUREDEPART> <VILLEARRIVEE>TUN</VILLEARRIVEE> <LIBVILLEARRIVEE>TUNIS </LIBVILLEARRIVEE> <HEUREARRIVEE>0125</HEUREARRIVEE> </VOLALLER> <VOLRETOUR> <CLEF>43547</CLEF> <COMPAGNIE>XLF</COMPAGNIE> <DATEDEPART>20070902</DATEDEPART> <VILLEDEPART>TUN</VILLEDEPART> <LIBVILLEDEPART>TUNIS </LIBVILLEDEPART> <HEUREDEPART>2355</HEUREDEPART> <VILLEARRIVEE>PAR</VILLEARRIVEE> <LIBVILLEARRIVEE>PARIS </LIBVILLEARRIVEE> <HEUREARRIVEE>0215</HEUREARRIVEE> </VOLRETOUR> <TOTALTTC>340</TOTALTTC> </REPONSE>
avant quand j'affiche les données dans une listbox
j'ai employé le code suivant
mais je veux qu'il sera affiché dans une seule MSflexgridCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Set oMembreDvp = oDvpDOMDocument.documentElement If Not oMembreDvp Is Nothing Then For Each vntvilledep In oMembreDvp.getElementsByTagName("LIBVILLEARRIVEE") LstMembDvp.AddItem vntvilledep.Text Next For Each vntdatedep In oMembreDvp.getElementsByTagName("DATEDEPART") Lstdatedep.AddItem vntdatedep.Text Next End If For Each vntheuredep In oMembreDvp.getElementsByTagName("HEUREDEPART") Lstheuredep.AddItem vntheuredep.Text Next
Comment je peux faire le boucle pour qu'il parcour tous les noeuds VOLALLER et VOLRETOUR et il affiche le résultat
Merci
et il y as un lien entre tes vols aller et retour ..? même ligne du MSFlexGrid ?
oui il faut qu'ils soient seur la même ligneCitation:
Envoyé par bbil
Merci
Il faudrait peut etre faire un minimum de recherche sur le controle FlexGrid ! :recherch:
Tu as l'aide de VB, Google, ce site, plein de possibilités pour toruver des infos par toi même, tu abuses un peu je trouve là !
Pour la dernière fois, je te donne une info mais la prochaine fois sans preuve de motivation ou de recherhce de ton côté, je m'abstiendrai..
Voici comment ajouter des colonnes ou des lignes à un controle FlexGrid et comment y placer ud texte sans utiliser Add.Item. Pour essayer, un simple projet avec un MSFlexGrid appelé "Grid" et 2 CommandButton.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub Command1_Click() Grid.Cols = Grid.Cols + 1 Grid.Col = Grid.Cols - 1 Grid.Width = Grid.Width + Grid.ColWidth(Grid.Col) Grid.Text = "L" & Grid.Row & "C" & Grid.Col End Sub Private Sub Command2_Click() Grid.Rows = Grid.Rows + 1 Grid.Row = Grid.Rows - 1 Grid.Height = Grid.Height + Grid.RowHeight(Grid.Row) Grid.Text = "L" & Grid.Row & "C" & Grid.Col End Sub
Tiens je t'ai préparé cela :
peu-être que cela te donneras des idées... on en sait toujours pas assez sur la structure de ton fichier XML ( comment sont organisés les autres enregistrements..?) pour t'en dire plus... mais bon ...Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Sub AjoutesVols() Dim xmlDoc As New MSXML2.DOMDocument Dim oElement As IXMLDOMElement Dim stFichier As String Dim stNom As String stFichier = App.Path & "\Vols.xml" xmlDoc.async = False xmlDoc.Load (stFichier) For Each oElement In xmlDoc.getElementsByTagName("VOLALLER") PoseVol oElement Next For Each oElement In xmlDoc.getElementsByTagName("VOLRETOUR") PoseVol oElement Next Set oElement = Nothing Set xmlDoc = Nothing End Sub Sub PoseVol(oElement As IXMLDOMElement) Dim stDateDepart As String Dim stHeureArrivee As String Dim stVilleDepart As String Dim stVilleArrivee As String stDateDepart = oElement.getElementsByTagName("DATEDEPART").Item(0).Text stVilleDepart = oElement.getElementsByTagName("VILLEDEPART").Item(0).Text stHeureArrivee = oElement.getElementsByTagName("HEUREARRIVEE").Item(0).Text stVilleArrivee = oElement.getElementsByTagName("VILLEARRIVEE").Item(0).Text Form1.MSFlexGrid1.AddItem stDateDepart & vbTab & stVilleDepart & vbTab & stHeureArrivee & vbTab & stVilleArrivee End Sub
on te présente la deux méthodes pour écrire dans le MsFlexgrid... ligne/ligne avec Additem ou cellules par cellules avec .text ...
;)
Merci beaucoup bbil il marche
Mais comment je peux ajouter devant la ligne de volretour le totalttc
Voici le code xml
voici un exemple plus clair puisque il n'y a pas une balise qu'on peux parcourir pour afficher le totalttc
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 <REPONSE xmlns:fo="http://www.w3.org/1999/XSL/Format"> <VOLALLER> <CLEF>43525</CLEF> <COMPAGNIE>XLF</COMPAGNIE> <DATEDEPART>20070826</DATEDEPART> <VILLEDEPART>PAR</VILLEDEPART> <LIBVILLEDEPART>PARIS </LIBVILLEDEPART> <HEUREDEPART>2255</HEUREDEPART> <VILLEARRIVEE>TUN</VILLEARRIVEE> <LIBVILLEARRIVEE>TUNIS </LIBVILLEARRIVEE> <HEUREARRIVEE>0125</HEUREARRIVEE> </VOLALLER> <VOLRETOUR> <CLEF>43547</CLEF> <COMPAGNIE>XLF</COMPAGNIE> <DATEDEPART>20070902</DATEDEPART> <VILLEDEPART>TUN</VILLEDEPART> <LIBVILLEDEPART>TUNIS </LIBVILLEDEPART> <HEUREDEPART>2355</HEUREDEPART> <VILLEARRIVEE>PAR</VILLEARRIVEE> <LIBVILLEARRIVEE>PARIS </LIBVILLEARRIVEE> <HEUREARRIVEE>0215</HEUREARRIVEE> </VOLRETOUR> <TOTALTTC>340</TOTALTTC> <URLRESA canal_objet="url"><![CDATA[http://vols.advences.com/vols2/Vols2XML.cfm?Aller_Retour=1&ref=4897&idvol=43525&idprofessionnel=1588&idvolr=43547&datedebut=20070826&datefin=20070902&nb_adulte=2&nb_enfant=0&nb_bebe=0&Provenance=PARIS&Destination=TUNIS&Origine=4897&Compagnie=XLF&Prix_Adulte=340]]></URLRESA> <VOLALLER> <CLEF>43524</CLEF> <COMPAGNIE>XLF</COMPAGNIE> <DATEDEPART>20070819</DATEDEPART> <VILLEDEPART>PAR</VILLEDEPART> <LIBVILLEDEPART>PARIS </LIBVILLEDEPART> <HEUREDEPART>2255</HEUREDEPART> <VILLEARRIVEE>TUN</VILLEARRIVEE> <LIBVILLEARRIVEE>TUNIS </LIBVILLEARRIVEE> <HEUREARRIVEE>0125</HEUREARRIVEE> </VOLALLER> <VOLRETOUR> <CLEF>43546</CLEF> <COMPAGNIE>XLF</COMPAGNIE> <DATEDEPART>20070826</DATEDEPART> <VILLEDEPART>TUN</VILLEDEPART> <LIBVILLEDEPART>TUNIS </LIBVILLEDEPART> <HEUREDEPART>2355</HEUREDEPART> <VILLEARRIVEE>PAR</VILLEARRIVEE> <LIBVILLEARRIVEE>PARIS </LIBVILLEARRIVEE> <HEUREARRIVEE>0215</HEUREARRIVEE> </VOLRETOUR> <TOTALTTC>436</TOTALTTC> <URLRESA canal_objet="url"><![CDATA[http://vols.advences.com/vols2/Vols2XML.cfm?Aller_Retour=1&ref=4897&idvol=43524&idprofessionnel=1588&idvolr=43546&datedebut=20070819&datefin=20070826&nb_adulte=2&nb_enfant=0&nb_bebe=0&Provenance=PARIS&Destination=TUNIS&Origine=4897&Compagnie=XLF&Prix_Adulte=436]]></URLRESA> <VOLALLER> <CLEF>43524</CLEF> <COMPAGNIE>XLF</COMPAGNIE> <DATEDEPART>20070819</DATEDEPART> <VILLEDEPART>PAR</VILLEDEPART> <LIBVILLEDEPART>PARIS </LIBVILLEDEPART> <HEUREDEPART>2255</HEUREDEPART> <VILLEARRIVEE>TUN</VILLEARRIVEE> <LIBVILLEARRIVEE>TUNIS </LIBVILLEARRIVEE> <HEUREARRIVEE>0125</HEUREARRIVEE> </VOLALLER> <VOLRETOUR> <CLEF>43547</CLEF> <COMPAGNIE>XLF</COMPAGNIE> <DATEDEPART>20070902</DATEDEPART> <VILLEDEPART>TUN</VILLEDEPART> <LIBVILLEDEPART>TUNIS </LIBVILLEDEPART> <HEUREDEPART>2355</HEUREDEPART> <VILLEARRIVEE>PAR</VILLEARRIVEE> <LIBVILLEARRIVEE>PARIS </LIBVILLEARRIVEE> <HEUREARRIVEE>0215</HEUREARRIVEE> </VOLRETOUR> <TOTALTTC>436</TOTALTTC> <reponse>
Bonjour,
Quand j'ai fait comme le code ci dessous il m'affiche les totalttc sous les autre comment je fait pour qu'il soit devant ?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 For Each oElement In xmlDoc.getElementsByTagName("VOLALLER") PoseVol oElement Next For Each oElement In xmlDoc.getElementsByTagName("VOLRETOUR") PoseVol oElement Next Set oMembreDvp = xmlDoc.documentElement For Each vntheurearr In oMembreDvp.getElementsByTagName("TOTALTTC") MSFlexGrid1.AddItem vntheurearr.Text & vbTab Next