Кто-нибудь знает, можно ли использовать XMLSlurper таким образом, что отдельные поддеревья можно вытащить из очень большого XML-документа и обработать индивидуально?Можно ли анализировать поддеревья с помощью Groovy XMLSlurper
Представьте, что у вас есть огромный XML-канал, содержащий корневой элемент с тысячами прямых дочерних элементов, которые вы можете обрабатывать индивидуально. Очевидно, что чтение всего документа в память - это не-нет, но поскольку каждый из корней сам по себе имеет скромный размер, было бы неплохо потокообрисовать этот документ, но, в свою очередь, применить XMLSlurper к каждому из дочерних элементов. По мере обработки каждого дочернего элемента сборка мусора может очистить память, используемую для ее обработки. Таким образом, мы получаем большую легкость XMLSlurper (такой краткий синтаксис) с низким объемом памяти потоковой передачи (например, SAX).
Мне было бы интересно узнать, есть ли у кого-нибудь идеи по этому поводу и/или вы сами встретили это требование.
Спасибо, я пришел к выводу, что мне нужно будет сделать что-то подобное. Тем не менее, это означает, что я, по сути, должен сделать двойной проход, и, таким образом, он влияет на производительность. – DrewEaster