Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java XMLUnit:如何将自动关闭元素注册为与非自动关闭元素不同的元素?_Java_Html_Xml_Xmlunit 2 - Fatal编程技术网

Java XMLUnit:如何将自动关闭元素注册为与非自动关闭元素不同的元素?

Java XMLUnit:如何将自动关闭元素注册为与非自动关闭元素不同的元素?,java,html,xml,xmlunit-2,Java,Html,Xml,Xmlunit 2,我想比较两个具有相同限定名的空元素。我希望能够指定一个选项,如果一个是自动关闭的,而另一个不是,则将元素标记为不同的 final String control=”“; 最终字符串测试=”; Diff myDiff=DiffBuilder.compare(Input.fromString(控件)) .withTest(输入.fromString(测试)) .build(); System.out.println(myDiff.toString()); 这张照片目前正在打印 [完全相同] 我怎样

我想比较两个具有相同限定名的空元素。我希望能够指定一个选项,如果一个是自动关闭的,而另一个不是,则将元素标记为不同的

final String control=”“;
最终字符串测试=”;
Diff myDiff=DiffBuilder.compare(Input.fromString(控件))
.withTest(输入.fromString(测试))
.build();
System.out.println(myDiff.toString());
这张照片目前正在打印

[完全相同]
我怎样才能使它包含差异

我已经研究了
ComparisonType
enum,但它似乎不包含任何与我寻求的比较类型匹配的值

我正在使用Java8和XMLUnitforJava2.5.0


上下文:我之所以要这样做,是因为我有一个将XML转换为HTML的XSLT转换,我正在编写一个单元测试,以确保输出不包含自动关闭的
s或

s,因为这不是有效的HTML。

您不能,原因很简单:这两个元素没有区别。只有它们的序列化形式不同,XMLUnit关心的是XML是否正确,而不是它是否按照您希望的方式序列化。

您不能,原因很简单:这两个元素没有区别。只有它们的序列化形式不同,XMLUnit关心的是XML是否正确,而不是它是否按照您希望的方式序列化。

我理解,根据XML模型,这两个元素是相同的。尽管如此,考虑到我需要一个测试来检查我是否生成了正确的HTML,我希望我不必钻研直接比较XML字符串序列化的晦涩难懂的领域。XMLUnit通过XML解析器运行序列化表单,甚至不知道其中一个元素已自动关闭。请注意,在W3C QT3和XSLT3测试套件中,我们明确允许这样做:以及针对XML模型的测试断言,它们还允许对序列化输出进行断言——但是设计非常小心地将这两件事分开。您是对的,针对序列化输出的测试可能会变得非常模糊:诀窍是只测试结果的一个小方面,例如,
序列化匹配(“/>”)
。尽管如此,考虑到我需要一个测试来检查我是否生成了正确的HTML,我希望我不必钻研直接比较XML字符串序列化的晦涩难懂的领域。XMLUnit通过XML解析器运行序列化表单,甚至不知道其中一个元素已自动关闭。请注意,在W3C QT3和XSLT3测试套件中,我们明确允许这样做:以及针对XML模型的测试断言,它们还允许对序列化输出进行断言——但是设计非常小心地将这两件事分开。您是对的,针对序列化输出的测试可能会变得非常模糊:诀窍是只测试结果的一个小方面,例如
序列化匹配(“/>”)