2009-10-02 90 views
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来使其工作。

+1

你在做什么,你为什么试图用DataSet做到这一点?如果您只想使用XML,则应使用XmlDocument或XDocument类。数据集不能很好地处理一些XML数据。 – 2009-10-02 20:19:54

回答

0

我能够通过不读取XmlSchema并且不指定XmlReadMode来使其工作。