Groovier способ найти следующий элемент XmlSlurper в родительском? - PullRequest
1 голос
/ 11 июня 2010

Я использую:

def idx=parent.item.children().indexOf(myElement)
if (idx+1<parent.children().size()) {
  def message=parent.children()[idx+1]
  println message.text()
}

Чтобы найти сообщение элемента, следующее за myelement в родительском элементе.

Однако, похоже, что должен быть способ Groovier, нет?

Спасибо, Миша

1 Ответ

2 голосов
/ 30 июля 2010

Предполагая, что вы пытаетесь найти все после первого, вы сделаете это:

def messages = parent.item.children().findAll { child -> child.name() == myElement }
messages[1..-1].each { println it } 

Если вы хотите просто распечатать все сообщения, которые соответствуют myElement

parent.item.children().findAll { child -> child.name() == myElement }.each { println it } 
...