当元素具有相同名称

时间:2015-05-06 01:03:16

标签: c# xml dataset xmlreader

我有一个包含多层图层的Xml文件,例如:

<?xml version="1.0" encoding="utf-8"?>
<TestSet>
  <Test>
    <Test>
      <Step/>
    <Test>
    <Test>
      <Step/>
    </Test>
  </Test>
</TestSet>

正如您所看到的,在另一个测试中嵌入了两个测试。当我将其读入DataSet时,我希望有4个表,每个嵌入级别都有一个表。

DataSet.Table[0].Rows.Count == 1   // TestSet
DataSet.Table[1].Rows.Count == 1   // High level Test
DataSet.Table[2].Rows.Count == 2   // Low level Test
DataSet.Table[3].Rows.Count == 2   // Step

我正在使用XmlReader解析文件,如下所示:

XmlReader xmlFile;
xmlFile = XmlReader.Create(file, new XmlReaderSettings());
DataSet data = new DataSet();
data.ReadXml(xmlFile);

相反,当我使用XmlReader时,我得到:

DataSet.Table[0].Rows.Count == 3   // All of the Test items, High and Low level
DataSet.Table[1].Rows.Count == 2   // Step

两个问题,为什么它会跳过我的TestSet级别,为什么它将我的Test项目组合到一个表中,尽管它们的级别不同。

我是否应该使用另一个能够保持数据完整性的读者,或者是否有解决这些问题的XmlReader的特定设置,或者我最好自己阅读并解析文件?

0 个答案:

没有答案