2011-06-07 73 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

相关问题