私はそのようなxmlファイルを持っています
<root>
<segmentNameA attributeName="10" />
<segmentNameB attributeName="50" />
</root>
これが私のコードです:
XPathDocument xPathDocument = new XPathDocument(analysisFileToProcess);
XPathNavigator Navigator = xPathDocument.CreateNavigator();
すべての attributeName 属性 (10 + 50) の合計を取得したいと思います。
これが私がすることです
var sum /*want to obtain 60*/ = Navigator.Select(Navigator.Compile("sum(/root/*[self::segmentNameA or self::segmentNameB]/@attributeName)"));
「無効なトークンがあります」という表現が表示されます。
しかし、私がこれを行うとき
var nodes = Navigator.Select(Navigator.Compile("/root/*[self::segmentNameA or self::segmentNameB]"));
合計したい属性を含むすべてのノードを取得します。
そして、私がそれをするとき
var nodes = Navigator.Select(Navigator.Compile("/root/*[self::segmentNameA or self::segmentNameB]/@attributeName"));
属性のリストを取得します。これで sum 関数を使用できないのはなぜですか?
誰かが私が間違っていることを指摘してもらえますか?