我正在为使用 JDOM 读写 XML 的代码编写单元测试。因此,我需要一些方法来将我的代码生成的 JDOMElement
与引用进行比较,Element
以确保它们是等价的(相同的名称、命名空间和属性,加上其子级的相同,递归地)。
不幸Element.equals
的是,只测试元素是否引用相等。如何最好地确定两个元素是否代表相同的树?
下面应该检查两个 XML 元素是否等效:
String myElementString = XMLOutputter.outputString(myElement);
String testElementString = XMLOutputter.outputString(testElement);
boolean equals = myElementString.Equals(testElementString);
我只能想到三种方式:
org.jdom.output.XMLOutputter
并比较字符串。都相当恶心!