Groovy-解析SOAP响应XML以获取数据
我将下面的值作为文本。我需要解析XML并获取每个XML的值。请建议如何使用GroovyGroovy-解析SOAP响应XML以获取数据,soap,groovy,xml-parsing,Soap,Groovy,Xml Parsing,我将下面的值作为文本。我需要解析XML并获取每个XML的值。请建议如何使用Groovy <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns0:GetListBy_QualificationResponse xmlns:ns0="urn:WS_CTM_People_ICEVA">
<ns0:getListValues>
<ns0:Person_ID>PPL000000301739</ns0:Person_ID>
<ns0:Submitter>soehler</ns0:Submitter>
<ns0:Profile_Status>Enabled</ns0:Profile_Status>
<ns0:Locale2>en_US</ns0:Locale2>
<ns0:VIP>No</ns0:VIP>
<ns0:Client_Sensitivity>Standard</ns0:Client_Sensitivity>
</ns0:getListValues>
</ns0:GetListBy_QualificationResponse>
</soapenv:Body>
</soapenv:Envelope>
PPL000000301739
苏勒
启用
恩努斯
不
标准
假设xml是变量xml
中的字符串,则可以执行以下操作:
def mapOfValues = new XmlSlurper().parseText(xml)
.Body
.GetListBy_QualificationResponse
.getListValues.children().collectEntries {
[it.name(), it.text()]
}
这使得mapOfValues
等于包含以下内容的映射:
[
'Person_ID':'PPL000000301739',
'Submitter':'soehler',
'Profile_Status':'Enabled',
'Locale2':'en_US',
'VIP':'No',
'Client_Sensitivity':'Standard'
]
@尼洛波尔:这有帮助吗?你能用这个测试吗?我一直在使用相同的逻辑,但我只得到值,而不是名称-值对。