【问题标题】:Typed DataSets with XML data sources and schemas具有 XML 数据源和模式的类型化数据集
【发布时间】:2010-09-24 08:07:56
【问题描述】:

我已经手动编写了一个 XML Schema 文件(不使用 VS 中的 DataSet Designer)和一个包含要读入的结构化数据的相应 XML 文件。

我运行 xsd.exe 程序来生成一个Typed DataSet 类;总的来说,一开始看起来不错(忽略它如何为公共类成员使用小写字母),但是在使用生成的类时没有任何反应:

MyDataSet set = new MyDataSet();
set.ReadXml( "myData.xml" );

此时MyDataSet 类的所有类型化表成员的.Count 为0。

奇怪的是,我也无法让正常的DataSets 工作:

DataSet set = new DataSet();
set.ReadXmlSchema("mySchema.xsd");
set.ReadXml( "myData.xml");

set.Tables.Count返回7,没错,但是表都是空的。

我是否遗漏了一些明显的东西?

更新:

在什么都不做之后set.Tables["extra"].Rows.Count 返回正确的行数;但是当我使用类型化的数据集时它不起作用,尽管其他一切都是一样的:

DataSet ds = new DataSet();
ds.ReadXml( packageExamplePath );

System.Console.WriteLine( ds.Tables["extra"].Rows.Count );

Package st = new Package();
st.ReadXml( packageExamplePath );

System.Console.WriteLine( st.Tables["extra"].Rows.Count );

...将其打印到控制台:

19

0

【问题讨论】:

    标签: .net xml schema dataset


    【解决方案1】:

    问题:xsd.exe 的代码是否正确生成?例如,您可以在代码中使用生成的 DS、创建 DataRows、将它们添加到 DataTables 等吗?

    如果是这样,请尝试手动填写 DS,保存 xml,并与您的结构化 xml 数据文件进行比较,以确保其具有相同的结构。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-14
      • 1970-01-01
      相关资源
      最近更新 更多