2011-06-07 68 views
0
private const String FormatOverrideCols = 
    "<XmlDS><table1><col1>Value1</col1></table1><table1><col1>Value2</col1></table1></XmlDS>"; 

System.IO.StringReader xmlSR = new System.IO.StringReader(FormatOverrideCols); 
ds.ReadXml(xmlSR, XmlReadMode.IgnoreSchema); 

爲什麼此代碼片段不會將xml字符串中的數據加載到數據集中?如何將xml加載到C#中的數據集中

回答

1

注意documentationXmlReadMode.IgnoreSchema

忽略任何內聯架構和負載 數據到現有DataSet 架構。丟棄與 現有模式不匹配的任何數據。如果 DataSet中不存在架構,則不會載入 數據。

如果您打算忽略模式,則需要匹配現有的數據集模式。如果您的目標是直接使用XML中的模式,請更改(或省略)讀取模式。

using (StringReader xmlSR = new StringReader(FormatOverrideCols)) 
{  
    ds.ReadXml(xmlSR); 
} 
+0

您如何在這種情況下讀取模式和數據? – Geek 2011-06-08 14:14:42

相關問題