C#的XSLT 2.0版转换问题

时间:2011-05-23 12:03:38

标签: c# xslt

您好我有几个XSLT 2.0文件。我需要用C#转换它们.. 我使用以下来自此站点的代码:http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=63

public bool Transform(string XMLPath, string XSLPath, string newXMLname){

        try{

            XPathDocument myXMLPath = new XPathDocument(XMLPath);          //load the Xml doc
            XslCompiledTransform myXSLTrans = new XslCompiledTransform();

            myXSLTrans.Load(XSLPath);                                       //load the Xsl 

            XmlTextWriter myWriter = new XmlTextWriter(newXMLname, null);     //create the output stream

            myXSLTrans.Transform(myXMLPath, null, myWriter);                   //do the actual transform of Xml ---> fout!!??

            myWriter.Close() ;
            return true;


        }catch(Exception e){

            return false;
        }
    }

但它不起作用..我认为这是因为我使用的是XSLT 2.0版。 有没有代码/方法来做到这一点?因为无法将我的XSLT文件更改为1.0版...

提前致谢!

2 个答案:

答案 0 :(得分:3)

设计用于.NET环境的两个XSLT 2.0处理器是Saxon.NET和XQSharp。

作为.NET的一部分提供的XslCompiledTransform和XslTransform处理器仅实现XSLT 1.0。

答案 1 :(得分:1)

本机.Net Framework不支持XSLT 2.0。我建议使用XSLT 1.0,但如果不能,则使用第三方组件,例如Saxon