2011-03-16 85 views
1

我发送请求并获取包含列表的响应。我必须遍历该列表的元素,并为列表中的每个元素发送另一个请求。从SoapUI列表中获取元素对Groovy列表的响应

下面是响应的简化示例。在Groovy中,我需要迭代“mID”列表。我如何从响应中将它们获取到Groovy中的列表中?

<ns:MeddelelseList> 
    <ns:Meddelelse> 
    <ns:mID>123456</ns:mID> 
    </ns:Meddelelse> 
    <ns:Meddelelse> 
    <ns:mID>234567</ns:mID> 
    </ns:Meddelelse> 
    <ns:Meddelelse> 
    <ns:mID>345678</ns:mID> 
    </ns:Meddelelse> 
    <ns:Meddelelse> 
    <ns:mID>456789</ns:mID> 
    </ns:Meddelelse> 
</ns:MeddelelseList> 

回答

1

我想你会发现XmlSlurper是有用的。下面的例子应该足以开始。 (我删除了XML命名空间并直接使用文本。)

def rootNode = new XmlSlurper().parseText(
''' 
<MeddelelseList> 
    <Meddelelse> 
    <mID>123456</mID> 
    </Meddelelse> 
    <Meddelelse> 
    <mID>234567</mID> 
    </Meddelelse> 
    <Meddelelse> 
    <mID>345678</mID> 
    </Meddelelse> 
    <Meddelelse> 
    <mID>456789</mID> 
    </Meddelelse> 
</MeddelelseList> 
''') 

def mIDList = []  
rootNode.Meddelelse.mID.each { mID -> mIDList << mID } 
mIDList.each { mID -> println mID }