0

我正在使用 EXSLT 的 Mvp.Xsl 实现。我试图在我的 XSLT 模板中调用 C# 脚本。它在使用 XslCompiledTransform 处理时有效,但不适用于 Mvp.Xsl。我收到以下错误:

Unhandled Exception: System.Xml.Xsl.XslTransformException: Execution of scripts was prohibited. Use the XsltSettings.EnableScript property to enable it.    

我理解使用 XslCompiled 转换处理时出现此错误,我可以使用 XsltSettings 摆脱它:

System.Xml.Xsl.XsltSettings.Default.EnableScript = true; 

但这对 Mvp.Xsl 不起作用,我还没有找到类似的设置。使用 Mvp.Xsl 时甚至可以调用 C# 脚本吗?

非常感谢,彼得

4

1 回答 1

2

仅当您需要脚本支持并且您在完全受信任的环境中工作时,才应启用 XSLT 脚本。

以下代码加载样式表并启用 XSLT 脚本支持。

// Create the XsltSettings object with script enabled.
XsltSettings settings = new XsltSettings(false,true);

// Create the XslCompiledTransform object and load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("sample.xsl", settings, new XmlUrlResolver());
于 2013-09-18T06:29:14.890 回答