使用嵌套表将数据集写入xml

时间:2017-12-21 15:36:07

标签: xml vb.net datatable dataset relation

在我的代码中存在一个名为dsetDataManager的数据集类。 我将在这个问题中引用两个表:DataConfigDataTable,SpecEquationDataTable。

DataConfig是父表,SpecEquation是子表。

这是我现有的代码:

table.col("id").cast("long") //java

这些方法和表都是自定义的,所以请假设这个代码有效且正确创建。他们肯定是。我的问题:

当我写XML时,我提供了两个sperate表,一个带有开始标记的dataconfig表,然后是行,然后是结束标记。然后是带有开始标记的specequation表,行,然后是结束标记。

我真正想要的是xml中的嵌套表。我希望specequation表位于dataconfig表的结束标记内。有关如何做到这一点的任何提示?我认为.merge()方法可行但我得到的'对象引用未设置为对象的实例'异常。

现有XML:

enter image description here

我想要什么: enter image description here

再次重申,这些表之间已存在父/子关系。我的程序的目的是自动生成包含表示这些表的数据的有用xml文件。这种嵌套发生是绝对至关重要的。谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用DataRelation在两个表之间添加关系。 这需要添加一个字段来链接两个

然后,您可以将DataRelation设置为Nested = True。例如

Dim rel As DataRelation = dSet.Relations.Add("relHeader", dSet.Tables("DataConfig").Columns("Link"), dSet.Tables("SpecEquation").Columns("Link"))
rel.Nested = True

最后隐藏列:

datatable.Columns("Link").ColumnMapping = MappingType.Hidden