我有一个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来使其工作。
答案 0 :(得分:0)
我能够通过不读取XmlSchema并且不指定XmlReadMode来使其工作。