2008-11-27 7 views
1

я написал файл схемы XML вручную (не с помощью конструктора DataSet в VS) и соответствующий XML-файл, содержащий структурированные данные, которые будут читать.типизированных DataSets с источниками данных XML и схем

я побежал xsd.exe для создания класса Typed DataSet; в целом она выглядит хорошо, чтобы начать с (не обращая внимания, как он использует нижний регистр для членов общественного класса), но когда речь идет о не используя сгенерированный класс ничего не происходит:

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

На данный момент все типизированные членов столовых класс MyDataSet имеют .Count 0.

достаточно Strangly, я не могу получить нормальные DataSets работать как:

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

set.Tables.Count возвращает 7, который является правильным, но таблицы все пустые.

Я пропустил что-то очевидное?

UPDATE:.

После этого абсолютно ничего не set.Tables [ "экстра"] 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 

Гах!

ответ

0

Вопрос: Правильно генерируется код из xsd.exe? Например, можете ли вы использовать созданные DS в коде, создать DataRows, добавить их в DataTables и т. Д.?

Если да, попробуйте заполнить DS вручную, сохраняя xml и сравнивая с вашим структурированным XML-файлом данных, чтобы убедиться, что он имеет ту же структуру.