首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较XmlDocument

比较XmlDocument
EN

Stack Overflow用户
提问于 2009-06-26 05:05:41
回答 5查看 1.5K关注 0票数 3

我想比较一下xml文档。有些是50k+。我在比较OuterXml。这是有效的吗?有没有更有效的方法?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-06-26 05:27:35

这取决于你想要什么样的比较。

例如,如果您只想比较两个文件中的内容并获得true/false状态,那么我建议您对要比较的两个文件分别使用XmlReader,然后解析节点。当你遇到差异的时候,你可以停止解析。

这与使用XML文档不同,在XML文档中,您必须将整个文档读取到内存中,获取字符串表示并比较字符串。(对于较小的文件大小,这并不重要)

两个xml文档可能在语义上相同,但结构可能不同(在这种情况下,您的比较必须更明智)。

如果您打算修改源文档,以防比较失败/成功,则首选DOM方式(XmlDocument类及其API)。

票数 4
EN

Stack Overflow用户

发布于 2009-06-26 05:27:32

仅仅比较XML的文本表示不会产生有效的结果--请查看以下内容:

代码语言:javascript
复制
<node x="1" y="2" />

代码语言:javascript
复制
<node y="2" x="1" />

就XML处理而言是相同的(节点上的属性顺序是无关紧要的),但是当您只比较文本时,您会将其标记为不同。

微软曾经在GotDotNet上有一个XmlDiff工具,但我不确定它是否仍然在某个地方可用……

更新

XmlDiff似乎仍然可用--请查看这个download link,以及MSDN上的"Using the XML Diff and Patch Tool in your application“链接。

Marc

票数 8
EN

Stack Overflow用户

发布于 2009-06-26 07:14:31

还有一个开源项目:http://diffxml.sourceforge.net/

我已经使用了来自MicroSoft的XmlDiff和这个框架。我认为MS XmlDiff有更多的比较功能,所以我现在使用它。但是如果你想要开源,DiffXml是一个很好的框架。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1047444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档