C# XslTransform类在.NET转换后不推荐使用
我在一个旧程序中使用了XslTransform,在将代码转换为.NETF3.5之后,编译器说XslTransform已被弃用,并被XslCompiledTransform取代 这是旧代码:C# XslTransform类在.NET转换后不推荐使用,c#,.net,xml,xslt,C#,.net,Xml,Xslt,我在一个旧程序中使用了XslTransform,在将代码转换为.NETF3.5之后,编译器说XslTransform已被弃用,并被XslCompiledTransform取代 这是旧代码: XslTransform xslt = new XslTransform(); xslt.Load(xslTemplate); xslt.Transform(xPathNav, null, fileStream, null); 我已将代码更改为如下所示: XslCompiledTransform xslt
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转换
有什么想法吗
谢谢。MSDN实际上有一篇关于的完整文章MSDN实际上有一篇关于的完整文章在前几段代码片段中,您似乎在使用
fileStream
进行输出,而xPathNav
进行输入
但在最后一段代码中,您使用了fileStream
(通过doc
)进行输入
您是否真的将
fileStream
更改为您的输入文档,或者这是一个错误?在前两段代码片段中,您似乎使用fileStream
进行输出,xPathNav
进行输入
但在最后一段代码中,您使用了fileStream
(通过doc
)进行输入
你真的把fileStream
改成了你的输入文档吗?还是这是一个错误
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);
我想
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);
XmlWriter=XmlWriter.Create(Console.Out,xslt.OutputSettings);`这会写入控制台您检查过了吗?试试writer.close()或flush()“但是代码没有进行XML转换”是什么意思?您没有创建输出文件吗?输出文件包含XML,但它与输入相同?XmlWriter writer=XmlWriter.Create(Console.Out,xslt.OutputSettings);`这会写入控制台您检查过了吗?试试writer.close()或flush()“但是代码没有进行XML转换”是什么意思?您没有创建输出文件吗?输出文件包含XML,但它与输入文件相同?这不是一个错误,因为转换函数不接受FileStreal in参数,所以我在我的代码中找到了microsoft网站中的代码。您对使用FileStream有什么建议吗?@dotNET:我知道您不能再将FileStream直接传递给Transform()。但您最初使用fileStream作为输出(第二个参数,在第二个代码段中),而在第三个代码段中,您使用doc(从fileStream派生)作为输入。它真的应该从输出更改为输入吗?这不是一个错误,因为Transform函数不接受FileStreal in参数,所以我在microsoft网站中的代码中找到了我的代码。您对使用FileStream有什么建议吗?@dotNET:我知道您不能再将FileStream直接传递给Transform()。但您最初使用fileStream作为输出(第二个参数,在第二个代码段中),而在第三个代码段中,您使用doc(从fileStream派生)作为输入。它真的应该从输出变为输入吗?