BOnjour a tout le monde en ce beau Samedi de St Nicolas
Dans mon petit bout de code, je peux lire le fichier XML suivant et le placer dans un datagrid, MAIS, je n'arrive pas a lire "'id" et "type"
quelqu'un peut il me dire comment faire, ou ma méthode n'est pas du tout bonne
Fichier XML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?xml version="1.0" encoding="UTF-8"?> -<SearchAccountsResult> -<Accounts count="24"> -<AccountSummary id="400000000000004" type="customer"> <Line>Benoit LAPOCHE</Line> <Line/> <Line>Rue du Cimetiere 7</Line> <Line>B-9999 BRULLES</Line> <Line>BELGIUM</Line> </AccountSummary> -<AccountSummary id="400000000000005" type="customer"> <Line>Benoit LEGRANDBLOND</Line> <Line>la rue 14a</Line> <Line/> <Line>B-6666 LECOIN</Line> <Line>BELGIUM</Line> </AccountSummary> -<AccountSummary id="400000000000247" type="customer"> <Line>Benoit LETERRIBLE</Line> <Line/> <Line>Rue de la Chapelle </Line> <Line>B-8888 LAVILLE</Line> <Line>BELGIUM</Line> </AccountSummary> </Accounts> </SearchAccountsResult>
Bout de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Dim XmlDoc As XmlDocument = New XmlDocument() Dim element As XmlNodeList Dim noeud, noeudEnf, noeudEnf1 As XmlNode Dim MyCol As Integer Dim MyRow As Int16 = 0 DataGridView1.ColumnCount = 7 DataGridView1.RowCount = 100 DataGridView1.Columns(0).Name = "Id" DataGridView1.Columns(1).Name = "Nom" DataGridView1.Columns(2).Name = "Adresse1" DataGridView1.Columns(3).Name = "Adresse2" DataGridView1.Columns(4).Name = "Cp" DataGridView1.Columns(5).Name = "Ville" DataGridView1.Columns(6).Name = "Pays" XmlDoc.Load("c:\xml\resp0.xml") element = XmlDoc.DocumentElement.GetElementsByTagName("Accounts") For Each noeud In element For Each noeudEnf In noeud.ChildNodes MyCol = 0 For Each noeudEnf1 In noeudEnf.ChildNodes If noeudEnf1.LocalName = "Line" Then MyCol += 1 If MyCol = 4 Then DataGridView1.Rows(MyRow).Cells(MyCol).Value = Mid(noeudEnf1.InnerText, 1, 7) MyCol += 1 DataGridView1.Rows(MyRow).Cells(MyCol).Value = Mid(noeudEnf1.InnerText, 10) Else DataGridView1.Rows(MyRow).Cells(MyCol).Value = noeudEnf1.InnerText End If End If Next MyRow += 1 Next Next End Sub
Partager