जाहिर है मैं उनके पार्स के पेड़ों की तुलना (क) canonical XML या (ख) के लिए दोनों तार बदलना होगा। निम्नलिखित काम नहीं करते हैं क्योंकि दस्तावेज़ ऑब्जेक्ट लौटा एक समझदार ==
परिभाषित नहीं है। क्योंकि Nokogiri के to_xml
कुछ आंतरिक खाली स्थान के पत्तेमैं रुबी में एक्सएमएल समानता का परीक्षण कैसे करूं?
Nokogiri.XML(doc_a) == Nokogiri.XML(doc_b)
न ही, निम्नलिखित है:
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(' ')
मैं पहले से ही नोकोगिरी का उपयोग कर रहा हूं, इसलिए मैं इसके साथ रहना पसंद करूंगा, लेकिन मैं लाइब्रेरी के कामों का उपयोग करूंगा।
मैं इसे एक अच्छा जवाब देखना चाहता हूं। AFAIK, कैनोनिकल एक्सएमएल इस पल में आपका एकमात्र विकल्प है। – Swanand
संभावित डुप्लिकेट [diff एक रूबी स्ट्रिंग या सरणी] (http://stackoverflow.com/questions/80091/diff-a-ruby-string-or-array) – sawa