2015-06-13 2 views
0

У меня есть XML, как это:Получить п-й дочерний узел, не зная имя узла Groovy

<node1> 
    <node2> 
    <node3> 
     <node4> 
     <node5> 
      <node6> 
      </node6> 
      <node7> 
      </node7> 
     </node5> 
     </node4> 
    </node3> 
    </node2> 
</node1> 

Как я могу получить имя 6-го узла - если я не знаю, имя узла является «node6»?

я в настоящее время:

def text = <xml from above> 
def list = new XmlSlurper().parseText(text) 

Спасибо заранее.

ответ

2

Как насчет:

def text = <xml from above> 
def node = new XmlSlurper().parseText(text)[0] 
5.times { node = node.children()[0] } 
assert node.name() == "node6" 
+1

Я предпочитаю определение функции fifthchild = (1..5) .inject (узел) {п, _ -> n.children() [0]} ';-) –

+0

может тоже так делать);) – blackdrag

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