我正在使用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#脚本?
非常感谢, 彼得
答案 0 :(得分: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());