मैंने इस विषय पर थोड़ी देर की खोज की और कुछ नतीजे भी पाए, जिनके बारे में मैं पोस्ट के अंत में उल्लेख कर रहा हूं। क्या कोई मुझे नीचे सूचीबद्ध मामलों के लिए इन तीन सवालों का सही जवाब देने में मदद कर सकता है?ग्रोवी XmlSlurper बनाम XmlParser
जो के लिए उपयोग-मामले का उपयोग कर XmlSluper XmlParser और (एपीआई/सिंटेक्स के उपयोग को देखते आसानी के बिंदु से) उपाध्यक्ष प्रतिकूल की तुलना में अधिक समझ में आता है?
कौन सा मेमोरी अधिक कुशल है? (स्लपर की तरह दिखता है)
कौन सा एक्सएमएल तेजी से संसाधित करता है?
केस ए। जब मुझे एक्सएमएल में लगभग सभी नोड्स पढ़ना पड़ता है?
केस बी। जब मुझे केवल कुछ नोड्स पढ़ना पड़ता है (जैसे gpath अभिव्यक्ति का उपयोग करना)?
केस सी। जब मुझे एक्सएमएल अपडेट/ट्रांसफॉर्म करना होगा?
प्रदान किया गया है कि XML दस्तावेज़ छोटा नहीं है (गहराई के स्तर और xml के आकार के साथ)।
संसाधन:
http://www.tutkiun.com/2009/10/xmlparser-and-xmlslurper.html कहता है:
वहाँ XMLParser और XMLSlurper के बीच समानता जब सरल पढ़ने के लिए उपयोग किया जाता है, लेकिन जब हम उनके लिए का उपयोग करें: XMLParser और XMLSlurper के बीच
अंतर उन्नत पढ़ने और जब अन्य प्रारूपों में एक्सएमएल दस्तावेज़ों को संसाधित करते हैं तो अंतर दो के बीच में।
XMLParser दस्तावेज़ों को पार्स करने के बाद मध्यवर्ती परिणाम संग्रहीत करता है। लेकिन पर दूसरी ओर,
XMLSlurper XML दस्तावेज़ों को संसाधित करने के बाद आंतरिक परिणाम संग्रहीत नहीं करता है।
पार्स की गई जानकारी को संसाधित करते समय वास्तविक, मौलिक मतभेद स्पष्ट हो जाते हैं। वह तब होता है जब सीधे इन-प्लेस डेटा स्ट्रीमिंग परिदृश्य में हेरफेर और प्रोसेसिंग के साथ प्रोसेसिंग होती है।
http://groovy.dzone.com/news/john-wilson-groovy-and-xml
ग्रूवी डॉक (XmlParser, XmlSlurper) और ग्रूवी की साइट उन्हें अच्छी तरह से (here और here) बताते हैं लेकिन ऊपर उल्लिखित प्रश्न को समझाने में बहुत अच्छा काम नहीं करता है।
बहुत बढ़िया स्पष्टीकरण slurper करने के लिए, धन्यवाद। इसने मेरी समस्या को हल किया जब एक स्लपर में "खाली" होने पर नोड्स को रिकर्सिवली से हटाने की कोशिश की, जो निश्चित रूप से काम नहीं करेगा। – sandos