xslTransform.Transform to XslCompiledTransform.Transform

时间:2014-09-11 11:50:56

标签: xml .net c#

您好我正在清除我的应用程序中的所有警告,我在我的应用程序中使用了以下代码

      DataSet dsBillItem = new DataSet();
      System.Xml.XPath.XPathNavigator xNav = xmlResponse.CreateNavigator();
      XslTransform xslTransform = new XslTransform();
      xslTransform.Load("test.xslt");
      XmlReader xmlReader = xslTransform.Transform(xNav, null);
      dsBillItem.ReadXml(xmlReader);

“XslTransform”显示警告为“此类已被弃用。请改用System.Xml.Xsl.XslCompiledTransform。http://go.microsoft.com/fwlink/?linkid=14202”。

如果我将我的代码更改为“XslCompiledTransform”,则在此行上抛出错误“XmlReader xmlReader = xslTransform.Transform(xNav,null);”。原因是此Transform方法仅适用于void返回类型。

请帮助我任何人,xslt文件到数据集转换的任何代码或任何其他方式都可用?

1 个答案:

答案 0 :(得分:2)

您可以尝试使用Transform(IXPathNavigable, XsltArgumentList, Stream)重载方法,并使用MemoryStream创建XmlReader

.....
MemoryStream stream = new MemoryStream();

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("test.xslt");
// Execute the transformation.
xslt.Transform(xNav, null, stream);

XmlReader reader = XmlReader.Create(stream);    
.....