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 F アドレス 3
DataTable.ReadXML() --> この XML ファイルを読み込めません。エラーは、DataTable がスキーマ推論をサポートしていないことを示しています
DataSet.ReadXML() --> はスキーマを取得せず、これを 2 つのテーブルに分割します。最初は教師テーブル、2 番目は学生テーブルです。スキーマを推測するように設定されています。
もう 1 つの問題は、いくつかの種類の XML ファイルでこれを行っていることです。これらはすべて、学生内に異なる数のノードがネストされているため、ノードの数に関係なく XML を読み取れるように、これを汎用にする必要があります。
これを読み取るために XmlReader を設定する必要があるのか、それとも DataSet.ReadXML()/DataTable.ReadXML() に使用する必要がある設定があるのか 疑問に思っています。ありがとうございました。