Problème de "requête" XPath
Bonsoir à tous !
J'ai un fichier XML formaté comme suit (Il est plus long que ça, je n'en mets qu'un fragment) :
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" ?>
<LevelsOfXP>
<Level Value="1">
<MinimumXP>0</MinimumXP>
</Level>
<Level Value="2">
<MinimumXP>1000</MinimumXP>
</Level>
<Level Value="3">
<MinimumXP>2250</MinimumXP>
</Level>
<Level Value="4">
<MinimumXP>3750</MinimumXP>
</Level>
<Level Value="5">
<MinimumXP>5500</MinimumXP>
</Level>
</LevelsOfXP> |
Ce fichier définit le palier d'expérience minimum (MinimumXP) pour atteindre le niveau voulu (Représenté par l'attribut "Value").
Pour ne pas avoir à parcourir à chaque fois le fichier XML dans son entier, je souhaite commencer la lecture à partir de mon niveau de mon niveau.
Je commence donc mon code comme suit :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
XmlDocument Doc = new XmlDocument();
Doc.Load("monfichier.xml");
XPathNavigator Navigator;
XPathNodeIterator Nodes;
byte CurrentLevel = CharacterLevel;
uint CurentXP = CharacterTotalXP;
Nodes = Navigator.Select("//Level[@Value='" + CurrentLevel.ToString() + "']");
MessageBox.Show(Nodes.Current.Value.ToString()); |
Supposons que je sois "Level 1". La dernière ligne me permet de vérifier la valeur obtenue par ma requête et j'obtiens...
Citation:
01000225037505500
Soit l'ensemble de mes valeurs de MinimumXP mise bout à bout. J'ai fait plusieurs tests avec des requêtes différentes (notamment sans le // avant Level) mais j'obtiens toujours le même résultat.
Je n'arrive pas à savoir où je me suis trompé. Ne devrais-je pas récupérer simplement 1000 ?
Cordialement,
Tuttu