0

私のデータベースには、親テーブルと子テーブルがあります。たとえば、親テーブルには姓と住所が含まれ、子テーブルには姓と名が含まれます。外部キーがあるため、子テーブルの行には親テーブルの対応する姓が必要です。

2 つの DataAdapter を使用してこれら 2 つのテーブルを読み取り、それらの DataTable を DataSet に追加すると、次のような XML を出力したいと思います。

<parent_table>
  <last_name>Smith</last_name>
  <address>111 Hi Street, Bye city</address>
  <child_table>
    <last_name>Smith</last_name>
    <first_name>Ann</first_name>
  </child_table>
  <child_table>
    <last_name>Smith</last_name>
    <first_name>Bob</first_name>
  </child_table>
</parent_table>

ただし、現在、2 つのテーブルを別々に印刷しています。

<parent_table>
  <last_name>Smith</last_name>
  <address>111 Hi Street, Bye city</address>
</parent_table>
<child_table>
  <last_name>Smith</last_name>
  <first_name>Ann</first_name>
</child_table>
<child_table>
  <last_name>Smith</last_name>
  <first_name>Bob</first_name>
</child_table>

(できれば DataSet.WriteXML() を使用して) 目的の出力を達成する方法はありますか?

ForeignKeyConstraint を追加しようとしましたが、DataRelation を追加しようとしましたが、どちらも出力を変更しませんでした。

免責事項: 上記は手書きのため、XML にエラーがある場合はご容赦ください。実際のテーブルには、「姓」よりも優れた外部キーが含まれています。

4

1 に答える 1

1

DataSet コンテンツを XML データとして書き込む (ADO.NET) から:

DataRelation オブジェクトを含む DataSet の XML 表現を記述する場合、結果の XML で、関連する親要素内にネストされた各リレーションの子行が必要になる可能性が高くなります。これを実現するには、DataRelation を DataSet に追加するときに、DataRelation の Nested プロパティを true に設定します。詳細については、DataRelations の入れ子 (ADO.NET)を参照してください。

于 2012-09-21T15:50:06.840 に答える