繁体   English   中英

两个XML文档之间的差异ruby on rails

[英]Difference between two XML documents ruby on rails

是否有可能在ruby中的两个XML文档中确定差异(例如,新元素,已修改元素,已删除元素...)?

我可以引用亚伦帕特森的话:

就XML文档而言,没有两个节点是平等的。 文档中的每个节点都是不同的。 每个节点都有许多要比较的属性:

  1. 这个名字是一样的吗?
  2. 属性怎么样?
  3. 命名空间怎么样?
  4. 孩子的数量怎么样?
  5. 所有的孩子都一样吗?
  6. 它的父节点是否相同?
  7. 它相对于兄弟节点的位置怎么样?

考虑将两个节点添加到同一文档中。 它们永远不会相对于兄弟节点具有相同的位置,因此文档中的两个节点不能“相等”。

但是,您可以比较两个不同的文档。 但是当你走在两棵树上时,你需要自己回答这7个问题。 您对同一性的要求可能与其他要求不同。

我不反对在节点上实现一个=〜做这个比较,但对这些问题非常严格。

你可以这样做:

doc1 = ~doc2#=> true
doc2 = ~doc3#=> false

只要它只返回真或假。 听起来怎么样?

- Aaron Patterson http://tenderlovemaking.com/


否则, 有一些看法

使用Hash#from_xml将XML文档加载到哈希中并比较哈希值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM