如何将VS2003的XslTransform转换为VS2005的XslCompiledTransform?

Posted

技术标签:

【中文标题】如何将VS2003的XslTransform转换为VS2005的XslCompiledTransform?【英文标题】:How to convert from XslTransform of VS2003 to XslCompiledTransform of VS2005? 【发布时间】:2015-03-26 15:40:08 【问题描述】:

我们目前正在将我们的项目从VS2003 转换为VS2005,我正在寻找将代码使用XslTransform 转换为XslCompiledTransform 的正确方法。

更改类名不是什么大问题,但在使用时 XslCompiledTransform's变换方法,我有问题。

之前XslTransform's Transform 方法接受XPathDocument 对象,现在Transfrom 方法期望XmlReader 代替:

代码如下:

XslCompiledTransform xslt = new XslCompiledTransform();
XPathDocument doc = new XPathDocument(new StringReader(DS.GetXml().ToString()));
StringWriter sw = new StringWriter();
xslt.Transform(doc,null,sw,null);

另外,新的Transform 方法需要System.Xml.XmlWriter 而不是System.IO.StringWriter

解决这个问题的最佳方法是什么?

谢谢

【问题讨论】:

【参考方案1】:

以下link 描述了 XslCompiledTransform 和 XslTransform 类之间的区别。

section 在两个版本中也有一些代码示例。

【讨论】:

以上是关于如何将VS2003的XslTransform转换为VS2005的XslCompiledTransform?的主要内容,如果未能解决你的问题,请参考以下文章

Office VSTO Word 2003 项目不断尝试自动转换为 2007

将 C# 代表从 2005 项目转换为 C# 2003

使用 c# 将 Visual Studio .net 2003 转换为 2008

c# vs2003 我有个byte[]数组,如何存入文件?

vs2010的c#程序怎么能在VS2003中编译,运行?

来自字符串内容的 XMLReader