C# Powershell/.NET中的XSL函数导致“意外令牌”错误
我试图通过Powershell使用.NET中的XSLT对象 我的XSL文档中有以下几行C# Powershell/.NET中的XSL函数导致“意外令牌”错误,c#,.net,xml,powershell,xslt,C#,.net,Xml,Powershell,Xslt,我试图通过Powershell使用.NET中的XSLT对象 我的XSL文档中有以下几行 <xsl:variable name=""p"" select=""Objects/Object/Property[@Name='distrolists']""/> <xsl:value-of select=""replace($p, 'oldtext', 'newtext')""/> 但是,当我执行它时,我得到以下错误: Exception calling "Load" with
<xsl:variable name=""p"" select=""Objects/Object/Property[@Name='distrolists']""/>
<xsl:value-of select=""replace($p, 'oldtext', 'newtext')""/>
但是,当我执行它时,我得到以下错误:
Exception calling "Load" with "3" argument(s): "Unexpected token ',' in the expression.
replace( -->,<-- 'oldtext', 'newtext')"
看起来.NET在解析XSL函数中的逗号时遇到了一些问题。我几乎不知道XSL有什么问题,或者处理器坏了
本节的最终目标是获取一个\r\n分隔的电子邮件地址列表,并用“.行”显示它们,正如@Tim C所指出的: replace是XSLT2.0函数,但XslCompiledTransform使用XSLT1.0,因此不支持该函数
您应该看看是否需要.NET中的XSLT 2.0功能。替换是XSLT 2.0功能,但XslCompiledTransform使用XSLT 1.0,因此该功能不受支持。任何支持XSLT 2.0的.NET功能?看看Saxon,这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论。@Tim C的第一条评论应该是答案。由于您似乎是SO警察部队的一名成员,请让我知道如何确保问题标记为已回答,而不要求对答案进行评分,除了我这样做的方式。您的帖子应该是对原始问题的评论,因为它实际上没有回答问题。如果@Tim C评论回答了问题,那么它们就在错误的地方,即:应该在回答中提供清楚的细节。编辑您的帖子,以获得一个适当答案的示例,该示例为@Tim C评分,但也将对其他用户有用,因为它提供了细节。希望有帮助。
Exception calling "Load" with "3" argument(s): "Unexpected token ',' in the expression.
replace( -->,<-- 'oldtext', 'newtext')"