我正在比较两个xml文件,并希望忽略空的xml元素,因为它们在两个文件中可能略有不同,但是差异对我的应用程序并不重要。例如:
<XXX></XXX>
<XXX />
[语法比无话可说]忽略了一个文件是否具有空标签,而另一个文件具有另一个。如果一个文件中有一个空标记,而另一个文件中没有任何标记,那么我也可以忽略它,那就太好了。
很抱歉,如果有人问这个问题,但我无法通过搜索或Google找到答案。
感谢您的帮助!
在XPath 2.0中,对于这两个示例,deep-equal(doc('doc1.xml'), doc('doc2.xml'))
将返回true。实际上,它将处理XML文档之间的许多琐碎变化,例如属性的顺序和属性定界符的选择。您肯定要比较解析的XML而不是原始词汇XML。
已经说过,deep-equal()
功能不是完美的,其他比较器也不是完美的,因为每个人的要求都不相同(例如,注释重要吗?)。撒克逊人提供deep-equal()
的参数化版本,可以帮助您完善比较。但这还不够总:例如,有些人希望进行比较,而忽略元素的顺序。