我正在迭代XML格式的非常大的REST api响应。例如,每当我看到一个名为<TaxiCode>
的节点时,我想将它的值保存到变量中(下面我只是打印出来)。下面的代码只是一个片段,并且会遍历每个节点。
def doc = new XmlSlurper().parseText(xmlResponse)
doc.Itinerary.each { Itinerary ->
Itinerary.children().each { tag ->
if (${tag.name()} == "TaxiCode") {
println "${tag.name()}: ${tag.text()}"
}
...
我不确定如何格式化if语句,对Groovy来说很新,我找不到任何类似的代码。
我不想做断言! 任何帮助表示赞赏。
答案 0 :(得分:0)
你可以单行做:
println doc.'**'.findAll{it.name() == 'TaxiCode'}*.text()