我有一个包含多层图层的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的特定设置,或者我最好自己阅读并解析文件?