XML比较
来源:互联网 发布:广西百色广电网络 编辑:程序博客网 时间:2024/06/05 15:03
1.工具:Xmlunit
2.实现
//待比较文本、目标文本 public static List<Difference> compare(Document source, Document target) throws Exception { Diff diff = new Diff(source, target); XMLUnit.setIgnoreAttributeOrder(true);//忽略属性位置 XMLUnit.setIgnoreComments(true);//忽略注解 XMLUnit.setIgnoreDiffBetweenTextAndCDATA(true); XMLUnit.setIgnoreWhitespace(true);//忽略空白 diff.overrideDifferenceListener(new IgnoreTextAndAttributeValuesDifferenceListener());//忽略文本值和属性值 diff.overrideElementQualifier(new ElementNameAttrAndChildQualifier());//覆盖节点比较方式 if (diff.similar()) return Lists.newArrayList(); DetailedDiff dd = new DetailedDiff(diff); return dd.getAllDifferences();//将不同重新封装返回 }
a、Difference的类型用ID字段区分,DifferenceConstants罗列了所有不同类别。getControlNodeDetail和getTestNodeDetail可分别得到不同节点详情。
b、ElementNameAttrAndChildQualifier为自定义ElementNameAndAttributeQualifier继承扩展类,然后覆盖public boolean qualifyForComparison(Element control, Element test)方法,在里面写如何判断两个节点相同与否。
阅读全文
0 0
- XML比较
- 比较XML和HTML
- XML解析器比较
- key_compare (XML 关键字比较)
- XML解析库比较
- JSON && XML的比较
- XML解析方式比较
- JSON与XML比较
- xml解析比较
- XML解析框架比较
- XML与JSON比较
- XML解析库比较
- 比较两个web.xml
- XML和HTML比较
- JSON和XML比较
- json和xml比较
- JSON与XML比较
- xml解析器比较
- python--用户登录与锁定错误账户(待优化)
- c++类的成员函数做回调函数为啥要申明为static的
- android Cordova笔记
- ORB算法原理解读
- 使用Maven管理Android项目的问题
- XML比较
- .Net位运算符&,|,!,^,<<,>>
- 欢迎使用CSDN-markdown编辑器
- Android Studio快捷键
- 修改Eclipse配色方案
- 飞凌AM335x开发板Linux系统应用程序添加到桌面的方法
- Oracle 练习题集
- Java事务(5)——Template模式
- 简单比较 getName()、getCanonicalName()、getSimpleName() 的异同