2个大的XML文件怎么比较其中的内容
我个人对本问题的理解是,如何比较两个较大的XML文件的内容差异部分。那我就此问题说下我的经验吧,此方法不限制于文件类型为XML的文件,其他文本文件,甚至二进制文件都可以进行比较。且大小原则上也不受限制,只要你的电脑性能足够优越。
首先下载一款软件:Beyond Compare。在其官网或者二手软件网站上都可以找到,为避嫌给某网站打广告,此处就贴上官网地址:http://www.scootersoftware.com/download.php,按照你的操作系统平台选择下载即可,一般都是英文的。如果不习惯,就去其他站点下载中文版的安装,安装过程傻瓜式,直接一路Next到底。
选择两个要比较的文件。以下说明就以windows下的为例,安装完成后,当你选中某个文件时,资源管理器的右键菜单上会出现Beyond Compare的智能菜单”选择左边文件进行比较“。
然后再选中另外一个要比较的文件,弹出右键菜单,此时会包含有Beyond Compare的智能菜单,选择”和‘上一次选中的文件’比较“。
3. 最后就可以查看比较内容了。可以看到会弹出这个软件的比较结果窗口,左边就是你最是选择的文件,右边就是你后来选择的文件,两个文件的差异部分会用红色标注,所在行会有黄色箭头标注,最左侧的预览条可以看到红色线条就是差异部分,上边分别显示了两个文件的路径,再上面的功能按钮分别有显示控制和上下差异跳转。
还有更多功能你可以慢慢研究,只能说这个软件非常强大,对比文件的利器!!
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节点中的标签,和属性是否相同;
如果是比较文本内容,直接使用java做一个输入流比较程序。
如果是比较数据内容就比较麻烦了。
比较数据内容需要考虑有没有顺序问题,如果有还简单。没有就很麻烦了!