Мне дали файл .xml, который мне нужно было прочитать в моем коде как набор данных (в качестве фона файл был создан путем создания DataSet
в C # и вызова dataSet.WriteXml(file, XmlWriteMode.IgnoreSchema)
, но это сделал кто-то другой ).
Файл .xml имеет следующую форму:
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Foo>
<Bar>abcd</Bar>
<Foo>efg</Foo>
</Foo>
<Foo>
<Bar>hijk</Bar>
<Foo>lmn</Foo>
</Foo>
</NewDataSet>
Используя C # и .NET 2.0, я прочитал файл, используя следующий код:
DataSet ds = new DataSet();
ds.ReadXml(file);
Используя точку останова, после этого line ds.Tables[0]
выглядело так (используя тире вместо подчеркиваний, которые я не смог правильно отформатировать):
Bar Foo-Id Foo-Id-0
abcd 0 null
null 1 0
hijk 2 null
null 3 2
Я нашел обходной путь (я знаю, что их много) и смог успешно прочитать в .xml, но я хотел бы понять, почему ds.ReadXml(file)
выполняется таким образом, поэтому я смогу избежать проблема в будущем. Спасибо.