C# 传递参数的问题<;xsl:for-each

C# 传递参数的问题<;xsl:for-each,c#,xslt,C#,Xslt,我在中将参数从C#传递到xsl,但没有得到输出。 这是我到现在为止的密码 <xsl:param name="xpath" select="sessions/session"/> <xsl:template match="/"> <xsl:value-of select="$xpath"/> <xsl:for-each select="exsl:node-set($xpath)"> 我正在检查值,并且值完全按照我的要求传递,但是当我在xsl

我在
中将参数从C#传递到xsl,但没有得到输出。 这是我到现在为止的密码

<xsl:param name="xpath" select="sessions/session"/>
<xsl:template match="/">
  <xsl:value-of select="$xpath"/>
  <xsl:for-each select="exsl:node-set($xpath)">
我正在检查值,并且值完全按照我的要求传递,但是当我在xsl:foreach中使用t hem时,它并没有显示我所期望的结果。早些时候,当我没有使用exsl:node set时,它抛出了错误,所以我使用了它,但我猜它使我的字符串变成了其他东西


知道如何解决这个问题吗?

我怀疑您误解了可以将参数或变量设置为字符串,然后将该字符串用作XPath查询。你不能

这:

将发出该字符串,并且:

<xsl:for-each select='exsl:node-set($xpath)'>

你的样品似乎不完整。你在哪里使用它们?在使用exsl之前,您遇到了什么错误?很抱歉,Idk y没有显示,但现在正如您所看到的,我基本上希望基于xpath值进行过滤。如果我单独使用$xpath而不使用EXSL,则会出现错误“表达式必须计算到节点集”。使用(“实验性”)扩展函数
dyn:evaluate(strXPathExpression)
动态计算xpath表达式似乎是可能的。瞧,你是罗伯特,这就是我做错的地方。我给参数分配了字符串,但你是rite,我需要在我的C代码中创建节点集。现在工作正常了……非常感谢。。。。
<xsl:param name="xpath" select="sessions/session"/>
<xsl:value-of select='$xpath'/>
<xsl:for-each select='exsl:node-set($xpath)'>
xsArgs.AddParam("nodeset", "", doc.SelectNodes(xpath));