Bonjour a tous,
Voila, j'ai un fichier xml de cette forme :
Et je souhaite donc récupérer la valeur "hkmj_512_V04_b(90).png" qui est donc dans la balise Type1.
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 <?xml version="1.0" encoding="UTF-8" standalone="no"?> <Application> <Entry>Mahjong</Entry> <Name> <English>JungleBoy</English> <eng-GB>JungleBoy</eng-GB> </Name> <Vendor /> <Description /> <Icons> <MainMenu> <Type1>hkmj_512_V04_b(90).png</Type1> <Type2 /> </MainMenu> <Setting /> <Ticker /> <QuickPanel /> <LaunchImage> 480x800_Splash_bada[1].png <Type1>480x800_Splash_bada[1].png</Type1> <Type2 /> </LaunchImage> </Icons> <AutoScaling> <Enabled>true</Enabled> <BaseResolution>480x800</BaseResolution> </AutoScaling> </Application>
Pour cela j'utilise ce code :
Le problème est que le fichier xml est parfois différent et dans certain cas, il n'y a pas la balise "Type1" et la valeur que je recherche est directement dans la balise "MainMenu" et dans ce cas la mon code ne marche pas.
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 Dim XmlDoc As XmlDocument = New XmlDocument() Dim x As Integer = 0 Dim element As XmlNodeList Dim noeud, noeudEnf, noeudenfenf As XmlNode XmlDoc.Load(TxtBoxSpo.Text & "\Info\application.xml") element = XmlDoc.DocumentElement.GetElementsByTagName("Icons") For Each noeud In element For Each noeudEnf In noeud.ChildNodes If noeudEnf.LocalName = "MainMenu" Then For Each noeudenfenf In noeudEnf.ChildNodes If (noeudenfenf.LocalName = "Type1") And x = 0 Then MsgBox(noeudenfenf.InnerText) x = 1 End If Next End If Next Next
Je pensais peut être a vérifier la présence de la balise "Type1" mais comment faire ?
Merci d'avance pour vos réponses. @+
Partager