【发布时间】:2013-07-01 17:27:16
【问题描述】:
我正在尝试将 XML 文件读入 DataTable,但我很难匹配架构并正确转换它。这就是 XML 的样子...
<?xml version="1.0" encoding="utf-8"?>
<School>
<Teacher>
<Name>Teacher1</Name>
<Student>
<Student-Name>Student1</Student-Name>
<Gender>M</Gender>
<Address>Address1</Address>
</Student>
<Student>
<Student-Name>Student2</Student-Name>
<Gender>F</Gender>
<Address>Address2</Address>
</Student>
</Teacher>
<Teacher>
<Name>Teacher2</Name>
<Student>
<Student-Name>Student3</Student-Name>
<Gender>F</Gender>
<Address>Address3</Address>
</Student>
</Teacher>
</School>
我需要将它添加到 DataTable 中,以便表格看起来像这样
姓名 学生姓名 性别 地址
-------------------------------------------------- --
老师 1 学生 1 M 地址 1
教师 1 学生 2 F 地址 2
教师 2 学生 3 ,
DataTable.ReadXML() --> 不允许我读入这个 XML 文件。该错误表示 DataTable 不支持架构推断
DataSet.ReadXML() --> 不接受模式并将其分成两个表,第一个是教师表,第二个是学生表,即使它设置为推断模式。
另一个问题是我正在使用几种类型的 XML 文件执行此操作。所有这些都在学生中嵌套了不同数量的节点,我需要将其设为通用,以便无论节点数量如何,它都可以读取 XML。
我想知道是否需要设置一个 XmlReader 来读取它,或者是否需要使用 DataSet.ReadXML()/DataTable.ReadXML() 上的任何设置。谢谢。
【问题讨论】: