[英]Difference between two XML documents ruby on rails
是否有可能在ruby中的兩個XML文檔中確定差異(例如,新元素,已修改元素,已刪除元素...)?
我可以引用亞倫帕特森的話:
就XML文檔而言,沒有兩個節點是平等的。 文檔中的每個節點都是不同的。 每個節點都有許多要比較的屬性:
- 這個名字是一樣的嗎?
- 屬性怎么樣?
- 命名空間怎么樣?
- 孩子的數量怎么樣?
- 所有的孩子都一樣嗎?
- 它的父節點是否相同?
- 它相對於兄弟節點的位置怎么樣?
考慮將兩個節點添加到同一文檔中。 它們永遠不會相對於兄弟節點具有相同的位置,因此文檔中的兩個節點不能“相等”。
但是,您可以比較兩個不同的文檔。 但是當你走在兩棵樹上時,你需要自己回答這7個問題。 您對同一性的要求可能與其他要求不同。
我不反對在節點上實現一個=〜做這個比較,但對這些問題非常嚴格。
你可以這樣做:
doc1 = ~doc2#=> true
doc2 = ~doc3#=> false只要它只返回真或假。 聽起來怎么樣?
- Aaron Patterson http://tenderlovemaking.com/
否則, 有一些看法 :
使用Hash#from_xml
將XML文檔加載到哈希中並比較哈希值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.