gpt4 book ai didi

java - 仅使用 XMLUnit 区分 XML 标签(无文本或属性)

转载 作者:行者123 更新时间:2023-11-30 11:16:54 24 4
gpt4 key购买 nike

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

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 上的差异监听器,但我仍然得到以下结果:

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 吗?如果是这样,是否还有另一种方法来区分标签?

最佳答案

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

如果您不能忍受“不相同”,您将需要使用自己的 DifferenceListener - 并且很可能最终复制 IgnoreTextAndAttributeValuesDifferenceListener 仅更改一行.

关于java - 仅使用 XMLUnit 区分 XML 标签(无文本或属性),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24643620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com