我正在为使用JDOM读写XML的代码编写单元测试。因此,我需要一些方法来比较我的代码生成的JDOM Element
和引用Element
,以确保它们是等价的(相同的名称,名称空间和属性,以及它的子项相同,递归地)。
不幸的是,Element.equals
仅测试元素是否在引用上相等。如何才能最好地确定两个元素是否代表相同的树?
答案 0 :(得分:3)
以下内容应检查两个XML元素是否等效:
String myElementString = XMLOutputter.outputString(myElement);
String testElementString = XMLOutputter.outputString(testElement);
boolean equals = myElementString.Equals(testElementString);
答案 1 :(得分:1)
我只能想到三种方式:
org.jdom.output.XMLOutputter
从每个Element创建一个XML字符串,并比较字符串。所有人都很讨厌!