在我的数据库中,我有一个父表和子表。例如,父表包含姓氏和地址,子表包含姓氏和名字。有一个外键,因此子表中的行在父表中必须具有相应的姓氏。
当我使用 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中有错误,请原谅。实际表包含比"姓氏"更好的外键。
从将数据集内容写入 XML 数据 (ADO.NET):
编写包含以下内容的数据集的 XML 表示形式时 数据关系对象,您很可能希望生成的 XML 将每个关系的子行嵌套在其相关关系中 父元素。为此,请设置 将 DataRelation 添加到数据集时,DataRelation 为 true。为 有关详细信息,请参阅嵌套数据关系 (ADO.NET)。