您好我有几个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版...
提前致谢!
答案 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。