我在旧程序中安装了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);
现在我得到:
无法转换
'System.IO.FileStream'到
'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);