Если у меня есть мой GPATH так:Groovy «находка» закрытие ... обход через рекурсивный XML
<Apple>
<Mango>
<id>5 </id>
</Mango>
<Mango>
<id>10 </id>
</Mango>
</Apple>
Чтобы получить манго, который имеет идентификатор 5, я бы,
GPathResult result = Apple.find{
it.Mango.id=5
}
Но если мой GPath был рекурсивным. Я имею в виду, что у яблока может быть манго. И у манго снова может быть яблоко. Например:
<Apple>
<Mango>
<id>10</id>
<Apple>
<Mango>
<id>5 </id>
</Mango>
</Apple>
</Mango>
</Apple>
Как получить манго с идентификатором '5'. Однако рекурсивный, GPath может быть (Mango с идентификатором «5» может быть на любом уровне рекурсии), мне нужно найти для манго с идентификатором «5». Как я могу достичь этого с закрытием поиска?
Заранее спасибо
Кажется, контратип http://stackoverflow.com/questions/6185746/ groovy-map-find-recursive, который имеет достаточно хороший ответ. –
привет Билл, я отличный новичок..и не совсем понял ответ в этой теме. Можем ли мы сделать то же самое, не используя карту? – user1717230
Вы должны уметь, конструкции должны быть одинаковыми, но я не выполнил эту работу, чтобы быть уверенным. Попробуйте - скопируйте код, заставьте его работать, как сначала, затем измените типы на то, что вы хотите, и посмотрите, сможете ли вы заставить его работать. Даже если это не помогает напрямую, оно должно научить вас достаточно, чтобы решить проблему самостоятельно. –