Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 使用XslCompiledTransform获取数据集_Xml_C# 4.0_Xslt_Visual Studio 2012 - Fatal编程技术网

Xml 使用XslCompiledTransform获取数据集

Xml 使用XslCompiledTransform获取数据集,xml,c#-4.0,xslt,visual-studio-2012,Xml,C# 4.0,Xslt,Visual Studio 2012,您好,我正在清除应用程序中的所有警告,我在应用程序中使用了以下代码 DataSet dsBillItem = new DataSet(); System.Xml.XPath.XPathNavigator xNav = xmlResponse.CreateNavigator(); XslTransform xslTransform = new XslTransform(); xslTransform.Load("test.xslt"); XmlReader xmlReader

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

  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.xslcomiledtransform。”

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


请在这方面帮助我,是否有xslt文件到数据集转换的代码或任何其他方法可用?

以下应该可以工作:

DataSet dsBillItem = new DataSet();

XslCompiledTransform xslTransform = new XslCompiledTransform();
xslTransform.Load("test.xslt");

using(MemoryStream ms = new MemoryStream())
using(XmlWriter xw = XmlWriter.Create(ms))
{
    xslTransform.Transform(xmlResponse, xw);
    ms.Position = 0;
    dsBillItem.ReadXml(ms);
}