【发布时间】:2011-03-09 16:05:07
【问题描述】:
我目前正在尝试使用XMLUnit 库来比较两个 XML 文件。 其中一个是 candidate,是由我的 Java 对象代码(使用 JAXB)生成的,另一个是 reference(我无法修改它)。 基本上我试图证明给定一个参考 XML 文件我可以反序列化它(使用 Jaxb 和我自己的一些类)然后将它序列化回另一个文件并且仍然具有相同的内容。
该库似乎提供了我需要的服务,但是当生成的文件没有正确缩进(类似于“漂亮打印”版本)时,比较会失败,而当缩进正常时也不会。 例如当 candidate 生成时没有缩进,内容是单行的,如果缩进正确(手动)比较就OK了。
下面是 XMLUnit 生成的错误信息:
[不同] 预期的孩子数量 节点“3”但为“1”
你们有什么办法解决这个问题吗? 也许解决方案是生成 candidate 的漂亮打印版本,在这种情况下,您是否有想法将它与 JAXB 序列化程序结合起来?
顺便说一句,如果您现在有更好的 Java 解决方案来比较 XML 文件,我会很高兴知道它;)
提前感谢您的帮助。
【问题讨论】:
标签: java xml xml-serialization jaxb xmlunit