我正在寻找一种方法来导入和导出 XML 数据文档的更改列表(不规则结构;不自然地适合数据集)。
如果我有一个常规结构,我将使用数据表,我可以评估哪些记录已被编辑,然后提交或取消更改,并且我还可以传输所需更改的数据包。
如何使用 XML 数据执行此操作?
如果没有好的答案,我认为最好的选择是使用具有 [XPath, Value] 方案的 DataTable,尽管存储效率低下且导航困难。
我希望对文档进行更改(使用 XPath 或 LINQ 或数据绑定控件或其他方式),然后记住更改并仅通过 TCP 发送更改。
然后我想接收另一个更改列表并将其应用到 XML 文档。我不想发送整个文档,因为我需要了解和评估正在发送的更改。
(只是为了澄清:我的程序需要发送和接收文档更改。管道的另一端不是基于 .net,并且不是这个问题的一部分。)
您是否需要对这些更改采取行动,或者只是存储它们,如果您只想存储更新的版本,您可以使用二进制差异算法来传递 2 个 xml 文件之间的差异。然后更新存储版本的差异。好的算法是bifdiff http://damaestro.us/blog/bsdiff-very-interesting-binary-diffC#版本可以找到here https://github.com/LogosBible/bsdiff.net.
另一种方法是使用这个XmlDiff http://msdn.microsoft.com/en-us/library/aa302294.aspxMS 的课程
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)