J'ai un XPathNavigator à la racine d'un document. À plusieurs niveaux, il y a un groupe de valeurs numériques que je veux additionner. Je pourrais toujours faire une boucle sur les nœuds et les ajouter moi-même, mais comme je savais que la spécification XPath incluait une fonction de somme, j'ai décidé d'essayer de l'utiliser. Je cours dans une erreur.Puis-je utiliser les fonctions XPath avec XPathNavigator?
System.Xml.XPath.XPathException - Expression must evaluate to a node-set.
Voici mon code.
XPathDocument doc = new XPathDocument(new StringReader(myLiteralXML));
XPathNavigator nav = doc.CreateNavigator();
string myXPath = "sum(/root/level1/level2/elementsToAdd)";
XPathNavigator sumNode = nav.SelectSingleNode(myXPath);
Je me attendais sumNode.Value
me donner ma somme (sous forme de chaîne). Mais à la place, je reçois l'exception ci-dessus lorsque j'essaie de remplir sumNode
.
Je sais que mon XPath est valide (ou du moins que XMLSpy le dit). Est-ce que je ne peux pas utiliser les fonctions XPath sur un XPathNavigator? Est-ce que je le fais juste mal?
(Aussi, curieux, suis-je perdre mon temps sur une approche impasse personne ne l'aide, et risquer de ne pas être en mesure de comprendre un an ce que cela fait?)
Je ne savais pas que c'était là. Merci. –