0
是否有可能在ruby的兩個XML文檔中確定區別(例如,新元素,修改元素,已刪除元素...)?兩個XML文檔之間的區別ruby on rails
是否有可能在ruby的兩個XML文檔中確定區別(例如,新元素,修改元素,已刪除元素...)?兩個XML文檔之間的區別ruby on rails
我可以引述亞倫帕特森:
至於XML文檔而言,任何兩個節點是永遠相等。 文檔中的每個節點都不相同。每個節點都有很多屬性 可供比較:
- 名稱是否相同?
- 屬性如何?
- 命名空間如何?
- 孩子數量呢?
- 所有的孩子都一樣嗎?
- 它的父節點是否一樣?
- 它相對於兄弟節點的位置呢?
考慮將兩個節點添加到同一文檔。它們可以是從不 相對於兄弟節點具有相同的位置,因此文檔中的兩個節點 不能「相等」。
你可以然而比較兩個不同的文件。但你需要 自己回答這7個問題,因爲你在走兩棵樹。 您對相同性的要求可能與其他人不同。
我不會反對在做這個 比較的Node上實現a =〜,但對這些問題非常嚴格。
你可以做的東西一樣:
DOC1 =〜DOC2#=>真
DOC2 =〜doc3的#=>假只要它纔會返回true或false。聽上去怎麼樣?
- 阿倫帕特森http://tenderlovemaking.com/
負載的XML文檔與Hash#from_xml
哈希和比較哈希值。
謝謝您的回覆。此解決方案中的問題是,我需要確定兩個xml文檔之間有什麼區別 –
散列比較是否不起作用? – apneadiving
是的,它可以工作,但我只能確定這兩個文件是否不相同。當我嘗試使用Hash.diff可視化差異時,儘管只有葉節點中的一個屬性發生了更改,但它返回了大部分XML文檔 –