在Ruby中区分两个XML文档?

使用?查看两个xml文件之间差异的最简单方法是什么?

我查看了Hpricot和Nokogiri,但找不到任何好的比较方法。 我也研究了像diffxml这样的unix工具,但宁愿在ruby中使用一些东西。

有人有任何想法吗?

diff.rb怎么样?
您将两个xml文档导出到数组并获取该库的差异。

尝试使用equivalent-xml gem 。 它可以告诉您两个XML文档在语义上是否等效

另一个选择是通过xml-simple循环跳转来规范你的xml,然后在输出的行上做一个数组diff:

 require 'rubygems' require 'xmlsimple' require 'diff' def regularize(xml) XmlSimple.xml_out(XmlSimple.xml_in(xml)) end def diff_xml(a,b) Diff.new(regularize(a).split("\n"), regularize(b).split("\n")) end puts diff_xml("", "").diffs.empty? puts diff_xml("", "").diffs.empty?