博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两个XML文件进行对比
阅读量:6239 次
发布时间:2019-06-22

本文共 2256 字,大约阅读时间需要 7 分钟。

package com.xml;public class XMLParseTest {	public static void main(String args[])	{		String sourcePath = "c:/web.xml";		String targetPath = "c:/web1.xml";				IXMLCompare xmlCompare = new XMLCompare();		xmlCompare.compare(sourcePath, targetPath);	}}
package com.xml;public interface IXMLCompare {	void compare(String sourcePath,String targetPath);}

package com.xml;import java.io.File;import java.io.IOException;import java.util.HashMap;import java.util.Map;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;public class XMLCompare implements IXMLCompare{	private DocumentBuilderFactory factory; 	private DocumentBuilder builder;		public XMLCompare()	{		factory = DocumentBuilderFactory.newInstance();		try {			builder = factory.newDocumentBuilder();		} catch (ParserConfigurationException e) {			e.printStackTrace();		}	}		@Override	public void compare(String sourcePath, String targetPath) {		File sourceFile = new File(sourcePath);		File targetFile = new File(targetPath);				try {			Document sourceDoc = builder.parse(sourceFile);			Document targetDoc = builder.parse(targetFile);			Map
result = executeCompare(sourceDoc,targetDoc); if(result.isEmpty()) { System.out.println("两个XML文件内容相同!"); } else { System.out.println("两个XML文件的内容不同!"); for(Integer element: result.keySet()) { System.out.println("number"+element+":"+result.get(element)); } } } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private Map
executeCompare(Document sourceDoc, Document targetDoc) { //该标签用于限定范围 String topTag = "web-app"; Map
resultMap = new HashMap
(); NodeList sourceList = sourceDoc.getElementsByTagName(topTag); NodeList targetList = targetDoc.getElementsByTagName(topTag); String sourceEleValue; String targetEleValue; if(sourceList.getLength()!=targetList.getLength()) { System.out.println("这两个XML对比的内容长度不同!"); } else { for(int i=0;i

转载于:https://www.cnblogs.com/mengjianzhou/archive/2012/03/09/5986862.html

你可能感兴趣的文章
Environment variable ORACLE_UNQNAME not defined
查看>>
Exchange各版本号收集
查看>>
NAS与SAN存储
查看>>
【Case分享】Exchange 2013EMS命令无法加载
查看>>
nrm切换npm源利器
查看>>
[C编程在Linux上]用 printf做彩色日志记录
查看>>
O365结合ADFS限制用户登录地址 (二) - 安装AAD Connect
查看>>
Lync 2013 配合 Sonus SBC 1000/2000 配置呼叫转接和同时拨打
查看>>
工作流引擎Synchro Flow的流程度量
查看>>
asp.net 使用ffmpeg.exe获取视频信息并截图方法类
查看>>
Go36-31-sync.WaitGroup和sync.Once
查看>>
input设置为disabled提交后获取不到该值的解决方法
查看>>
我的友情链接
查看>>
利用wget 和队列 模拟网络爬虫 (不带判重程序)
查看>>
从零开始学习Gradle之三---多项目构建
查看>>
年轻人的自我自救:你有没有勇气输得起?
查看>>
cisco *** client 自动重拨
查看>>
1218直播节,花椒与北京卫视会密谋什么新局?
查看>>
Android 调用手机自带的下载器下载
查看>>
我的友情链接
查看>>