XSL Transform の関数を作成しようとしています。
基本的に、関数内には がありSystem.Xml.XPath.XPathNodeIterator
、その反復子内の各ノードに適用されたときに XPath の値を取得したいと考えています。
この例では XPath ですconcat(name(.) , "_", string(.))
が、実際には何でもかまいません。
これは XPathException をスローしています: 「式はノード セットに評価する必要があります。」どのような意味がありますか
これは有効な XPath ではなく、他の xml/xsl 関連の機能であると言われると思いますが、XSL では次のことができると考えてください。
<xsl:value-of select="concat(name(.) , "_", string(.))"/>
そして、それが私が求めているものです-しかし、関数内です。
私は C# を使用していますが、VB の回答は受け入れられます。
System.Xml.XPath.XPathNodeIterator Nodes = whatever;
string KeySelector="concat(name(.), '_', string(.))";
while (Nodes.MoveNext())
{
System.Xml.XPath.XPathNavigator xpnValue = Nodes.Current.SelectSingleNode(KeySelector);
}