Bonjour,
je reçoit un xml en réponse à un web service. De cette réponse, j’extraie les informations dont j'ai besoin. Seulement arrivé à une certaine balises,
il y a un namespace de défini sans aucun préfixe. J'essaye donc de définir un namespace pour ensuite récupérer mon information avec xPath mais rien n'y fait, mon information n'est pas extraite.
Voici la manière dont je m'y prend :
D'avance je vous remercie pour l'aide.
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 Dim xmlDoc As XmlDocument = New XmlDocument xmlDoc.LoadXml("<?xml version=""1.0"" encoding=""utf-8""?><addresses>" & _ "<address>" & _ "<communeRef Type=""001"" Status=""Status1"" Structure=""Structure1"">" & _ "<Date xmlns=""http://www.ibz.rrn.fgov.be/XSD/xm25/rn25Schema"">" & _ "<Century>18</Century>" & _ "<Year>1780</Year>" & _ "<Month>10</Month>" & _ "<Day>2</Day>" & _ "</Date>" & _ "<DelDate xmlns=""http://www.ibz.rrn.fgov.be/XSD/xm25/rn25Schema"">" & _ "<Century>19</Century>" & _ "<Year>1880</Year>" & _ "<Month>10</Month>" & _ "<Day>2</Day>" & _ "</DelDate>" & _ "<Residence xmlns=""http://www.ibz.rrn.fgov.be/XSD/xm25/rn25Schema"">" & _ "<Code>5</Code>" & _ "<Label>Label1</Label>" & _ "</Residence>" & _ "<Fusion xmlns=""http://www.ibz.rrn.fgov.be/XSD/xm25/rn25Schema"">0</Fusion>" & _ "<Language xmlns=""http://www.ibz.rrn.fgov.be/XSD/xm25/rn25Schema"">1</Language>" & _ "</communeRef>" & _ "<address class=""belgianAddress"">" & _ "<countryCode>55</countryCode>" & _ "<countryName language=""NL"">countryName1</countryName>" & _ "<countryName language=""FR"">countryName2</countryName>" & _ "<countryName language=""DE"">countryName3</countryName>" & _ "<cityCode>5555</cityCode>" & _ "<cityName language=""NL"">cityName1</cityName>" & _ "<cityName language=""FR"">cityName2</cityName>" & _ "<cityName language=""DE"">cityName3</cityName>" & _ "<postalCode>5785</postalCode>" & _ "<streetCode>75757</streetCode>" & _ "<streetName language=""NL"">streetName1</streetName>" & _ "<streetName language=""FR"">streetName2</streetName>" & _ "<streetName language=""DE"">streetName3</streetName>" & _ "<houseNumber>78</houseNumber>" & _ "<boxNumber>4</boxNumber>" & _ "<date>1900-01-01</date>" & _ "</address>" & _ "</address>" & _ "<addressRefs>" & _ "<addressRef Type=""024"" Status=""Status1"" Structure=""Structure1"">" & _ "<Date xmlns=""http://www.ibz.rrn.fgov.be/XSD/xm25/rn25Schema"">" & _ "<Century>18</Century>" & _ "<Year>1700</Year>" & _ "<Month>10</Month>" & _ "<Day>01</Day>" & _ "</Date>" & _ "<DelDate xmlns=""http://www.ibz.rrn.fgov.be/XSD/xm25/rn25Schema"">" & _ "<Century>18</Century>" & _ "<Year>1750</Year>" & _ "<Month>12</Month>" & _ "<Day>1</Day>" & _ "</DelDate>" & _ "</addressRef>" & _ "</addressRefs>" & _ "</addresses>") Dim nodes As XmlNode = xmlDoc.SelectSingleNode("addresses") Dim ns As XmlNamespaceManager = New XmlNamespaceManager(xmlDoc.NameTable) ns.AddNamespace("", "http://www.ibz.rrn.fgov.be/XSD/xm25/rn25Schema") For Each node As XmlNode In nodes.ChildNodes If node.SelectSingleNode("communeRef") IsNot Nothing Then Dim nodeCommuneRef As XmlNode = node.SelectSingleNode("communeRef") Dim comRef As CommuneRef = New CommuneRef() If nodeCommuneRef.SelectSingleNode("Date/Century", ns) IsNot Nothing Then comRef.Date.Century = CInt(node.SelectSingleNode("Date/Century", ns).InnerText) End If If node.SelectSingleNode("Date/Year") IsNot Nothing Then comRef.Date.Year = CInt(node.SelectSingleNode("Date/Year").InnerText) End If If node.SelectSingleNode("Date/Month") IsNot Nothing Then comRef.Date.Month = CInt(node.SelectSingleNode("Date/Month").InnerText) End If If node.SelectSingleNode("Date/Day") IsNot Nothing Then comRef.Date.Day = CInt(node.SelectSingleNode("Date/Day").InnerText) End If End If Console.WriteLine(node.InnerXml & "\n\n") Console.ReadKey() Next
Partager