我正在尝试验证和检查两个XML文件之间的差异。
XML文件1:
<Customer .....>
<Description description="Foo" name="Foo" language="svSE"/>
<Description description="Bar" name="Bar" language="enUS"/>
</Customer>
<Customer .....>
<Description description="Bar" name="Bar" language="enUS"/>
<Description description="Foo" name="Foo" language="svSe"/>
</Customer>
public class FooTest extends AbstractTest {
...
@Test
public void assertFooBarFile() {
...
XMLUnit.setIgnoreComments(Boolean.TRUE);
XMLUnit.setIgnoreWhitespace(Boolean.TRUE);
XMLUnit.setNormalizeWhitespace(Boolean.TRUE);
XMLUnit.setIgnoreDiffBetweenTextAndCDATA(Boolean.TRUE);
XMLUnit.setIgnoreAttributeOrder(Boolean.TRUE);
XMLAssert.assertXMLEqual(doc1, doc2);
}
}
我应该如何比较这两个文件包含相同的信息(不关心信息的生成顺序),有什么想法吗?
你可以试试这个。
public static boolean compareXMLs(String xmlSource, String xmlCompareWith)
throws Exception {
XMLUnit.setIgnoreWhitespace(true);
XMLUnit.setIgnoreComments(true);
XMLUnit.setIgnoreAttributeOrder(true);
XMLUnit.setNormalizeWhitespace(true);
Diff myDiff = new Diff(xmlSource, xmlCompareWith);
myDiff.similar()
}
测试
String x1 = "<a><a1/><b1/></a>";
String x2 = "<a><b1/><a1/></a>";
assertTrue(compareXMLs(x1, x2));
“StringComparator”在“arrays.sort(b,new StringComparator());”出货量和预期的一样。 但当我使用默认排序(步骤如下),然后按“StringComparator”排序时,bug显示: “Arrays.Sort(a);Arrays.Sort(a,new StringComparator());”
我在网上找不到如何比较文件之间的单词的任何例子。我需要确定文件之间共享的字数和每个文件(相对于其他文件)唯一的字数。我的最终输出应该包括7个数字:文件1和文件2的总字数,文件1和文件2的唯一字数,文件1和文件2之间共享的字的#,文件1中但不在文件2中的字的#,以及文件2中但不在文件1中的字的#。我知道我必须使用set()来完成此操作,但我不明白如何操作。 期望输出:
我有两个列表,数据相同,但顺序不同。 结果:
我也可以使用相同的比较器按Id对列表进行排序吗?
我的列表中有这样一个< code>compareTo代码: 当我使用时,我得到以下错误: 当我将其更改为<code>if(this.long1 现在,重复确实发生了,需要正确排序。重复项是出现在第一个还是最后一个并不重要,只要它们按顺序正确分组,如下所示: 我该如何正确地做到这一点?谢谢你。 更新 该列表仍在按以下所有建议排序。这是因为它是一个
我有一个程序可以对计算机的某个目录中的文件进行排序。我正在使用比较器接口和Collections.Sort-方法,但我无法访问调用类的输出。我也不知道如何在Sort-class中对对象进行排序。 1)如果有人能告诉我如何使用compare-method(prototyp是:sort(List List,Comparator c)我会很高兴