首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只比较带有XMLUnit的XML标签(没有文本或属性)

只比较带有XMLUnit的XML标签(没有文本或属性)
EN

Stack Overflow用户
提问于 2014-07-09 08:24:40
回答 1查看 575关注 0票数 2

我尝试使用XMLUnit来区分两个XMLUnit文档的整体结构(没有文本/属性),如下所示:

代码语言:javascript
复制
private static final String XML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";

        xhtml1 = XML_HEADER + "<b>Text</b>";
        xhtml2 = XML_HEADER + "<b>Different Text!</b>";

        Diff d = new Diff(xhtml1.trim(), xhtml2.trim());

        DetailedDiff dd = new DetailedDiff(d);
        dd.overrideElementQualifier(null);
        dd.overrideDifferenceListener(new IgnoreTextAndAttributeValuesDifferenceListener());
        List<Difference> l = dd.getAllDifferences();
        for (Difference difference : l) {
            System.out.println(d.toString());
        }

尽管我覆盖了DetailedDiff上的difference listener,但我仍然得到以下结果:

代码语言:javascript
复制
org.custommonkey.xmlunit.Diff
[not identical] Expected text value 'Text' but was 'Different Text!' - comparing <b ...>Text</b> at /b[1]/text()[1] to <b ...>Different Text!</b> at /b[1]/text()[1]

DifferenceListener不适用于getAllDifferences吗?如果是这样的话,有没有其他方法可以只比较标签?

EN

回答 1

Stack Overflow用户

发布于 2015-02-04 03:23:09

IgnoreTextAndAttributeValuesDifferenceListener将差异降级为“相似”而不是“相同”,这就是为什么它们仍然出现在差异列表中的原因。

如果你不能忍受“不完全相同”,你就需要使用你自己的DifferenceListener --而且很可能只复制一行代码就可以复制IgnoreTextAndAttributeValuesDifferenceListener

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

https://stackoverflow.com/questions/24643620

复制
相关文章

相似问题

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