XslTransform类在之后已弃用.NET转换
本文关键字:NET 转换 之后 XslTransform | 更新日期: 2023-09-27 17:59:52
我在一个旧程序中使用了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);
现在我得到了:
无法从转换’系统。IO.FileStream"到’系统。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);
在前两个代码片段中,您似乎使用fileStream
作为输出,使用xPathNav
作为输入。
但在最后一个片段中,您使用fileStream
(通过doc
)进行输入。
您是否真的将fileStream
更改为您的输入文档,或者这是一个错误?