带有XML数据源和模式的类型化DataSet

时间:2008-11-27 13:31:12

标签: .net xml schema dataset

我手工编写了一个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

1 个答案:

答案 0 :(得分:0)

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

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