0

在我的数据库中,我有一个父表和子表。例如,父表包含姓氏和地址,子表包含姓氏和名字。有一个外键,因此子表中的一行必须在父表中具有相应的姓氏。

当我使用 2 个 DataAdapter 读取这两个表并将这些 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>

但是,目前我正在分别打印两个表格:

<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

从将数据集内容写入XML 数据 (ADO.NET)

在编写包含 DataRelation 对象的 DataSet 的 XML 表示时,您很可能希望生成的 XML 将每个关系的子行嵌套在其相关的父元素中。为此,请在将 DataRelation 添加到 DataSet 时将 DataRelation 的 Nested 属性设置为 true。有关详细信息,请参阅嵌套 DataRelations (ADO.NET)

于 2012-09-21T15:50:06.840 回答