0
我有一个C#应用程序,它调用一个存储过程,该存储过程生成要保存到磁盘的xml结果(使用FOR XML Explicit)。做一些研究,我发现下面的方法:将sql服务器xml结果保存到磁盘
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自动工作,但是我可以看看通过数据集的表格,看到数据在那里。
UPDATE:我能够通过不读取XmlSchema并且不指定XmlReadMode来使其工作。
你在做什么,你为什么试图用DataSet做到这一点?如果您只想使用XML,则应使用XmlDocument或XDocument类。数据集不能很好地处理一些XML数据。 – 2009-10-02 20:19:54