2015-04-15 2 views
3

Как я могу получить следующего брата GPathResult? Например, у меня есть следующий код:Как получить следующего брата с GPathResult

def priorityIssue = xmlReport.'**'.find { Issue -> 
    Issue.Priority.text() == priority 
} 

Как я могу получить следующую сестру priorityIssue?

Спасибо!

+0

Помог ли мой ответ на проблему? – Opal

ответ

2

Более или менее это путь:

import groovy.util.XmlSlurper 

def xml = new XmlSlurper().parseText(''' 
<issues> 
    <issue> 
     <id>1</id> 
     <priority>1</priority> 
    </issue> 
    <issue> 
     <id>2</id> 
     <priority>2</priority> 
    </issue> 
</issues> 
''') 
def p = '1' 
def priorityIssue = xml.'**'.find { issue -> 
    issue.priority.text() == p 
} 
def kids = priorityIssue.parent().children().list() 
def idx = kids.indexOf(priorityIssue) 
def sibling = kids[++idx] 
assert sibling.id.text() == '2' 
+1

Что касается Groovy 2.3.6, то часть '.list()' является чрезмерной и приводит к ошибке выполнения. Аллес без него. –

Смежные вопросы