补充,上述引用到的相类似问题的帖子为
http://topic.csdn.net/u/20100828/17/2f3a5e1d-9d12-4cb6-abe3-dcdde95d9fef.html?57763

解决方案 »

  1.   

    http://msdn.microsoft.com/zh-cn/library/1t4362sd.aspx
    http://www.cnblogs.com/cmzzlh/articles/419766.html
      

  2.   

    ReadXmlSchema生成关系映射
    Load或 LoadXml加载   XML   数据。 
    加载关系数据,DataSet指定为XmlDataDocument构造函数中的参数
    http://msdn.microsoft.com/zh-cn/library/1t4362sd.aspx
      

  3.   

    我看到了楼上引用页的这句话:使 XmlDataDocument 与 DataSet 同步的另一个优点是避免了 XML 文档的失真。如果 DataSet 是使用 ReadXml 从 XML 文档中填充的,那么当使用 WriteXml 以 XML 文档形式写回数据时,数据可能大大不同于初始的 XML 文档。这是因为 DataSet 不维护 XML 文档中的格式设置(如空白)或分层信息(如元素顺序)。DataSet 也不包含 XML 文档中因为不匹配 Dataset 架构而被忽略的元素。通过使 XmlDataDocument 与 DataSet 同步,可以在 XmlDataDocument 中维护初始 XML 文档的格式设置和分层元素结构,而 DataSet 仅包含适用于 DataSet 的数据和架构信息。
    同时也是照着做的,可实际的结果还是发生失真:
    如果只是更改和删除(注意:不是增加dataset中的tatable的记录)dataset中的某一个datable的记录,dataset输出xml格式不会发生改变,但是如果增加一条记录,则输出的xml格式就会发生新增记录的元素顺序改变。
      

  4.   

    我说的这个现象和具体的xsd内容有关系,如果有熟悉这方面的朋友最好按照我的例子做一下便明白问题的现象了。