显然,我需要(a)将两个字符串转换为
canonical XML或(b)比较他们的分析树.以下不起作用,因为返回的文档对象没有明确定义.
Nokogiri.XML(doc_a) == Nokogiri.XML(doc_b)
因为诺基里的to_xml留下了一些内部的空白:
Nokogiri.XML(doc_a).to_xml == Nokogiri.XML(doc_b).to_xml
这是一个合理的近似平等(并且在大多数情况下都有效果),但这并不完全正确:
Nokogiri.XML(doc_a).to_xml.squeeze(' ') == Nokogiri.XML(doc_b).to_xml.squeeze(' ')
我已经在使用Nokogiri,所以我宁愿坚持下去,但是我会使用任何图书馆作品.