2009-10-02 86 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來使其工作。