我正在尝试将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地址2
老师2学生3 F地址3
DataTable.ReadXML() - &gt;不允许我读这个XML文件。该错误表明DataTable不支持架构推断 DataSet.ReadXML() - &gt;没有拿起架构并将其分成两个表,第一个是教师表,第二个是学生表,即使它被设置为推断架构。
另一个问题是我使用几种类型的XML文件。所有这些都有不同数量的节点嵌套在学生中,我需要使这个通用,以便它可以读取XML而不管节点的数量。
我想知道是否需要设置一个XmlReader来读取它,或者我是否需要使用DataSet.ReadXML()/ DataTable.ReadXML()上的任何设置。谢谢。
答案 0 :(得分:0)
如果您熟悉Xsd.exe(可视工作室中的工具),则可以从XML数据生成类,这样您就可以批量将数据直接从XML加载到生成的类中。