Syntaxe XPath et scission des valeurs du XpathNodeIterator
Bonjour,
Voici tout d'abord un extrait du fichier XML que j'utilise :
Code:
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 |
Et voici l'extrait de code C# en question :
Code:
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 + " ";
}
}
} |
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.
Merci d'avance pour votre aide !