jjzjj

java - 如果存在 xsi :type and a different namespace prefix,xmlunit.Diff 返回 similar=false

这段代码:importorg.custommonkey.xmlunit.Diff;Stringresult="";Stringcorrect="";Diffdiff=newDiff(result,correct);System.out.println("diff:"+diff);System.out.println("diff.similar():"+diff.similar());结果:diff:org.custommonkey.xmlunit.Diff[notidentical]Expectednamespaceprefix'ns1'butwas'ns2'-comparingat/

java - 将类似的 xml 文件与带有无序标签的 XmlUnit 进行比较(具有不同属性的相同标签名称)

我正在成功尝试XmlUnit,这对我的工作很有帮助。现在,我有一个小问题,我不知道如何解决。我有一个java类,它有一个Set,当将它转换成XML时,里面的元素可以有任何顺序。当我在XmlUnit中尝试这两个文件时,它起作用了(Diff说它们很相似):但是当标签具有相同的名称(具有不同的属性)时它不起作用(它混合了属性,并期望另一个标签中的属性):有什么解决方法吗? 最佳答案 我自己找到了解决方案。Diffdiff=newDiff(controlXml,responseXml);diff.overrideElementQualifi

java - 在 Groovy/Java 中比较两个 XML 字符串/文件

我正在编写单元测试来检查一些XML构建器。现在我遇到了预期结果和实际结果之间的语法差异问题,尽管它们具有相同的语义。示例:预期结果:texthere实际结果:texthere我尝试使用XmlUtil.serialize()规范化xml,但这似乎保留了空格,留下了语法差异。如何获得规范化/规范化形式的xml字符串以使我的测试更加可靠?我正在编写一个Grails应用程序,所以我可以使用Groovy或Java中的任何解决方案。 最佳答案 您可以像这样使用GroovyXMLUnit实用程序:XMLUnit.setIgnoreWhitespa

java - 如何使用 java 和 xmlunit 比较两个具有相同命名空间但前缀不同的 xml

我有2个xml文件:问题出在属性前缀中。SometextSometext这两个xml是一样的,有相同的命名空间,只是前缀不同。如果我与xmlunit进行比较->断言失败。我该如何处理?在similar()或identical()比较的情况下我有错误:预期的属性名称为“message:MessageNameString”但为“null”预期的属性名称为“message:MessageVersion”但为“null”预期的属性名称为“null”但为“mes:MessageNameString”预期的属性名称为“null”但为“mes:MessageVersion”

java - JDOM 正在使用太多内存

我有一个应用程序使用XmlUnit从两个XML文件中获取差异。但问题是XmlUnit使用JDOM。我的xml文件有~1GB大!将那些xml存储在JDOM文档中需要太多的RAM。我已经尝试使用SlimJDOMFactory,但仍然占用了过多的内存!!实际上我需要在XML文件中向前和向后导航。如果没有JDOM,我找不到简单的方法。有人可以帮忙吗?这是关于我如何构建JDOM文档的代码示例:privateorg.jdom2.DocumentrefDocJdom2;privateorg.jdom2.DocumentresDocJdom2;SAXBuildersxb=newSAXBuilder()

java - XMLUnit - 比较两个忽略子顺序的 XML

这个问题在这里已经有了答案:ComparingsimilarxmlfileswithXmlUnitwithunorderedtags(sametagnamewithdifferentattributes)(3个答案)关闭9年前。我正在尝试查看是否可以使用XMLUnit来比较以下两个不同的XML。我使用Diff类比较以下两个XML并检查相似返回false。XMLOneXMLTwo''OrderisreversedinXMLtwo这是我的JAVA代码:DiffxmlDiff;try{xmlDiff=newDiff(xmlOne,xmlTwo);xmlDiff.overrideElement

c++ - 用于 C++ 的 XMLUnit

有谁知道是否存在C++的XMLUnit之类的东西?我正在寻找一种简单的方法来检查XML输出中的节点、值等。我们在VisualStudio中使用Google测试,但我想任何使工作更轻松的库就足够了。我将Xerces用作XML解析器,但XMLUnit(http://xmlunit.sourceforge.net/)具有一些封装在XML解析器上的功能,这些功能对单元测试非常有用。例如,使用XPath表达式断言、比较两个“相似”XML的函数等。 最佳答案 我过去曾结合使用Xerces和CPPUnit来完成此任务。在我的测试用例中,我将在se

java - XMLUnit - Xml 文件缩进对比较的影响

我目前正在尝试使用XMLUnit比较两个XML文件的库。其中之一,候选,是由我的代码从Java对象(使用JAXB)生成的,另一个是引用(我无法修改它)。基本上我试图证明给定一个引用XML文件我可以反序列化它(使用Jaxb和我自己的一些类)然后将它序列化回另一个文件并且仍然具有相同的内容。该库似乎提供了我需要的服务,但是当生成的文件没有正确缩进(类似于“pretty-print”版本)时,比较失败,而当缩进正常时也不会。例如生成candidate时没有缩进,内容是一行的,如果正确(手动)缩进,比较就可以了。这是XMLUnit生成的错误消息:[different]Expectednumbe

java - XMLUnit 是否有一个忽略空格的断言

我想在测试中比较两个xml字符串,但由于空格,测试一直失败。@TestpublicvoidtestForEquality()throwsException{StringmyControlXML="0x00435A8C";StringmyTestXML="0x00435A8C";assertXMLEqual(myControlXML,myTestXML);Diffdiff=newDiff(myControlXML,myTestXML);assertTrue(diff.similar());} 最佳答案 是的,XMLUnit可以忽略空格

java - 在 Java 中比较 2 个 XML 文档的最佳方法

我正在尝试编写一个应用程序的自动化测试,它基本上将自定义消息格式转换为XML消息并将其发送到另一端。我有一组很好的输入/输出消息对,所以我需要做的就是发送输入消息并监听XML消息从另一端出来。当需要将实际输出与预期输出进行比较时,我遇到了一些问题。我的第一个想法就是对预期和实际消息进行字符串比较。这并不能很好地工作,因为我们拥有的示例数据的格式并不总是一致的,并且经常有不同的别名用于XML命名空间(有时根本不使用命名空间。)我知道我可以解析两个字符串,然后遍历每个元素并自己比较它们,这不会太难做到,但我觉得有更好的方法或我可以利用的库。所以,归根结底,问题是:给定两个都包含有效XML的