【发布时间】:2010-12-03 10:41:04
【问题描述】:
我有一个 C# 应用程序,它调用一个存储过程,该过程产生一个我想要保存到磁盘的 xml 结果(使用 FOR XML Explicit)。做了一些研究,我发现了以下方法:
var data = new DataSet();
XmlReader reader = cmd.ExecuteXmlReader();
data.ReadXmlSchema(reader);
data.ReadXml(reader, XmlReadMode.Fragment);
data.WriteXml(filename);
但是,这会在文件中输出以下内容:
<?xml version="1.0" standalone="yes" ?>
<NewDataSet />
我认为这种方法可能只适用于 XML Raw 和 XML Auto,但是我可以查看数据集的表格并查看数据。
更新:我能够通过不读取 XmlSchema 和不指定 XmlReadMode 来使其工作。
【问题讨论】:
-
你想做什么,你为什么想用 DataSet 来做?如果您只想使用 XML,您应该使用 XmlDocument 或 XDocument 类。 DataSet 不能很好地处理一些 xml 数据。
标签: c# sql-server xml sql-server-2000