2个大的XML文件怎么比较其中的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2个大的XML文件怎么比较其中的内容相关的知识,希望对你有一定的参考价值。

我个人对本问题的理解是,如何比较两个较大的XML文件的内容差异部分。那我就此问题说下我的经验吧,此方法不限制于文件类型为XML的文件,其他文本文件,甚至二进制文件都可以进行比较。且大小原则上也不受限制,只要你的电脑性能足够优越。

    首先下载一款软件:Beyond Compare。在其官网或者二手软件网站上都可以找到,为避嫌给某网站打广告,此处就贴上官网地址:http://www.scootersoftware.com/download.php,按照你的操作系统平台选择下载即可,一般都是英文的。如果不习惯,就去其他站点下载中文版的安装,安装过程傻瓜式,直接一路Next到底。

    选择两个要比较的文件。以下说明就以windows下的为例,安装完成后,当你选中某个文件时,资源管理器的右键菜单上会出现Beyond Compare的智能菜单”选择左边文件进行比较“。

然后再选中另外一个要比较的文件,弹出右键菜单,此时会包含有Beyond Compare的智能菜单,选择”和‘上一次选中的文件’比较“。

3. 最后就可以查看比较内容了。可以看到会弹出这个软件的比较结果窗口,左边就是你最是选择的文件,右边就是你后来选择的文件,两个文件的差异部分会用红色标注,所在行会有黄色箭头标注,最左侧的预览条可以看到红色线条就是差异部分,上边分别显示了两个文件的路径,再上面的功能按钮分别有显示控制和上下差异跳转。

还有更多功能你可以慢慢研究,只能说这个软件非常强大,对比文件的利器!!

参考技术A

1.读取xml文件到内存:
用fopen函数读取文本内容到内存保存为string, 然后两个string比较是否1样;
例如:

string  str1; //保存xml 1内容
string str2; //保存xml 2内容
if(str1==str2)
     内容相同
else
    内容不相同

2.通过xml标签属性比较:‍
用tinyxml等xml库来读取xml内容,然后遍历xml的节点,比较xml节点中的标签,和属性是否相同;

参考技术B 不知楼主是想比较数据内容,还是想比较内容?
如果是比较文本内容,直接使用java做一个输入流比较程序。
如果是比较数据内容就比较麻烦了。
比较数据内容需要考虑有没有顺序问题,如果有还简单。没有就很麻烦了!

以上是关于2个大的XML文件怎么比较其中的内容的主要内容,如果未能解决你的问题,请参考以下文章

怎么使用java导出大数据为xml文件

怎么将json文件转成xml文件

Powershell 中非常大的 XML 文件

http接收xml数据用java怎么实现呀?

spring注解机制和XML配置机制之间的比较

使用 GWT 读取一个非常大的本地 XML 文件