2016-09-16 26 views
1

私は以下の値をテキストとして持っています。私はXMLを解析し、それぞれの値を取得する必要があります。あなたのXMLが変数xmlのStringで、その後、あなたが行うことができますされていると仮定するとGroovyのGroovy - SOAP応答XMLを解析してデータを取得する

<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> 

答えて

2

に行う方法を提案してください:

ます
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' 
] 
関連する問題