Некоторое время я искал эту тему и тоже нашел некоторые результаты, о которых упоминаю в конце поста. Может ли кто-нибудь помочь мне точно ответить на эти три вопроса для случаев, перечисленных ниже?
Для каких вариантов использования использование XmlSluper имеет больше смысла, чем XmlParser, и наоборот (с точки зрения простоты использования API / синтаксиса)?
Какой из них более эффективен с точки зрения памяти? (выглядит как Slurper)
какой из них быстрее обрабатывает xml?
Случай a. когда мне нужно прочитать почти все узлы в 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
Отличный документ ( XmlParser , XmlSlurper ) и Groovy's сайт хорошо их объясняет ( здесь и здесь ), но не дает большого объяснения вышеупомянутого вопроса.