我在一个旧程序中使用了 XslTransform,在将代码转换为 .NET F 3.5 之后,编译器表示 XslTransform 已被弃用并被 XslCompiledTransform 取代。
这是旧代码:
XslTransform xslt = new XslTransform();
xslt.Load(xslTemplate);
xslt.Transform(xPathNav, null, fileStream, null);
我已将代码更改为如下所示:
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(xslTemplate);
xslt.Transform(xPathNav, fileStream);
现在我得到:
cannot convert from 'System.IO.FileStream' to 'System.Xml.XmlWriter'
我试图通过添加这样做来纠正它:
XPathDocument doc = new XPathDocument(fileStream);
XmlWriter writer = XmlWriter.Create(Console.Out, xslt.OutputSettings);
xslt.Transform(doc, writer);
我没有再收到错误,但我的代码没有进行 XML 转换。
有什么想法吗?
谢谢。
我觉得
XslTransform xslt = new XslTransform();
xslt.Load(xslTemplate);
xslt.Transform(xPathNav, null, fileStream, null);
可以用XslCompiledTransform写成如下
XslTransform xslt = new XslCompiledTransform();
xslt.Load(xslTemplate);
xslt.Transform(xPathNav, null, fileStream);
我是一名优秀的程序员,十分优秀!