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);
}