Я деякий час шукав цю тему і також знайшов деякі результати, про які я згадую в кінці допису. Чи може хтось допомогти мені точно відповісти на ці три запитання для випадків, перелічених нижче?
Для яких випадків використання використання XmlSluper має більше сенсу, ніж XmlParser, і навпаки (з точки зору простоти використання API / синтаксису)?
Який з них є більш ефективним в пам’яті? (схоже на Slurper)
який обробляє xml швидше?
Справа а. коли мені доводиться читати майже всі вузли в xml?
Справа b. коли мені доводиться читати лише кілька вузлів (наприклад, використання виразу gpath)?
Справа c. коли мені потрібно оновити / перетворити xml?
за умови, що документ xml не є тривіальним (з рівнем глибини та розміром xml).
Ресурси :
http://www.tutkiun.com/2009/10/xmlparser-and-xmlslurper.html говорить:
Різниця між XMLParser та XMLSlurper:
Існує подібність між XMLParser та XMLSlurper, коли він використовується для простого читання, але коли ми використовуємо їх для розширеного читання та при обробці XML-документів в інших форматах, між ними існують відмінності.
XMLParser зберігає проміжні результати після аналізу документів. Але з іншого боку,
XMLSlurper не зберігає внутрішні результати після обробки XML-документів.
Справжні, принципові відмінності стають очевидними при обробці аналізованої інформації. Тобто при обробці за допомогою безпосередньої обробки даних на місці та обробки в сценарії потокового передавання.
http://groovy.dzone.com/news/john-wilson-groovy-and-xml
Документ groovy ( XmlParser , XmlSlurper ) та сайт groovy добре пояснюють їх ( тут і тут ), але не дуже добре пояснюють вищезазначене питання.