显然我需要(a)将这两个字符串转换为canonical XML或(b)比较它们的分析树。以下内容不起作用,因为返回的文档对象没有明确的==
定义。如何在Ruby中测试XML相等性?
Nokogiri.XML(doc_a) == Nokogiri.XML(doc_b)
也不以下,因为引入nokogiri的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,所以我宁愿坚持下去,但我会使用任何库工程。
我想看到一个很好的答案。 AFAIK,规范XML是你此刻的唯一选择。 – Swanand 2009-09-16 17:29:23
[diff a ruby string or array]可能的重复(http://stackoverflow.com/questions/80091/diff-a-ruby-string-or-array) – sawa 2011-05-23 08:24:03