C# DataSet.WriteXml()表顺序

C# DataSet.WriteXml()表顺序,c#,dataset,writexml,C#,Dataset,Writexml,我正在使用c dataset.writexml方法创建一个xml文件。我的一个父表有两个子表,我希望xml同时显示来自这两个表的记录。 我在我的数据集中添加了父表和子表之间的关系,但我没有将记录放在一起。xml总是将来自子表1的所有记录放在一起,然后是来自子表2的所有记录 有没有办法从两个表中获取记录1,然后从两个表中获取记录2,依此类推 <Parent> <Child Table 1 Row 1> <Child Table 2 Row 1> &l

我正在使用c dataset.writexml方法创建一个xml文件。我的一个父表有两个子表,我希望xml同时显示来自这两个表的记录。 我在我的数据集中添加了父表和子表之间的关系,但我没有将记录放在一起。xml总是将来自子表1的所有记录放在一起,然后是来自子表2的所有记录

有没有办法从两个表中获取记录1,然后从两个表中获取记录2,依此类推

<Parent>
  <Child Table 1 Row 1>
  <Child Table 2 Row 1>
  <Child Table 1 Row 2>
  <Child Table 2 Row 2>
<\parent table>
示例xml如下所示。这就是客户的要求

<Parent>
  <Count>2</Count> 
  <Child 1>
    <ID>111</ID> 
    <No>11111</No> 
  </Child 1>
  <Child 2>
      <AppNo>11111111</AppNo> 
  </Child 2>
  <Child 1>
    <ID>222</ID> 
    <No>22222</No> 
  </Child 1>
  <Child 2>
      <AppNo>22222222</AppNo> 
  </Child 2>
<\Parent>

如果我理解正确,这甚至不是有效的xml。 子元素永远不会像您期望的那样在一起

在打开另一个子表之前,该子表必须具有结束标记,除非您希望子表2位于子表1之下


你有没有一个具体的例子可以解释这个问题?我认为它不会像您期望的那样运行。

您可以创建一个DataView并指定一个排序字符串,然后将新排序的DataView复制回DataTable/DataSet,我认为应该按照您在排序字符串中指定的方式进行排序。然后,您应该能够使用相同的方法序列化为Xml,并对其进行排序。实际上,您将重新创建整个数据集,并按照您的意愿对其进行排序,然后将其写入Xml。