Bonjour,
Voici tout d'abord un extrait du fichier XML que j'utilise :
Et voici l'extrait de code C# en question :
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 <?xml version="1.0" encoding="utf-8" ?> <menu> <act> <link> <link_name>Paris</link_name> <link_address>adresse du site</link_address> <column>1</column> <subgroup>1</subgroup> <subgroup_name>Cities</subgroup_name> </link> <link> <link_name>Marseille</link_name> <link_address>adresse du site</link_address> <column>1</column> <subgroup>1</subgroup> <subgroup_name>Cities</subgroup_name> </link> ETC
J'aurais voulu savoir s'il est possible, avec XPath, de scinder le NodeIter.Current.Value de manière à obtenir deux parties correspondant au nom du lien (<link_name> dans le fichier XML) et à l'adresse du lien (<link_adress> dans le fichier XML). La syntaxe C# fonctionne et j'obtiens bien l'affichage voulu mais sans pouvoir récupérer distinctement chacune des valeurs que je sélectionne avec le XPathNodeIterator.
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 XPathDocument doc = new XPathDocument(@"c:\users\ap\documents\visual studio 2010\Projects\NWW\NWW\menu.xml"); XPathNavigator nav = doc.CreateNavigator(); for (int i = 1; i < 5; i++) { for (int j = 1; j < 5; j++) { XPathNodeIterator NodeIter = nav.Select("/menu/act/link/link_name[../column=" + i + "and ../subgroup=" + j + "] | /menu/act/link/link_address[../column=" + i + "and ../subgroup=" + j + "]"); while (NodeIter.MoveNext()) { if (NodeIter.CurrentPosition == 1) { test.InnerHtml += "TEST"; } test.InnerHtml += NodeIter.Current.Value + " "; } } }
Merci d'avance pour votre aide !
Partager