簡體   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