【发布时间】:2010-11-28 15:25:28
【问题描述】:
显然我需要 (a) 将两个字符串都转换为 canonical XML 或 (b) 比较它们的解析树。以下内容不起作用,因为返回的文档对象没有定义合理的==。
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 是您目前唯一的选择。