顯然我需要(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