Я пытаюсь извлечь узел xml одного атрибута. Но это не выборка правильноНе удалось получить все значения тегов XML с помощью groovy
вот мой ответ
def response = "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:ns="http://schemas.datacontract.org/2004/07/" xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<soapenv:Header/>
<soapenv:Body>
<tem:getMotorPremium><tem:objUserDetails>
<ns:ProductCode>2311</ns:ProductCode>
<ns:ProductId>2311</ns:ProductId>
<ns:ProductName>2311</ns:ProductName>
</tem:objUserDetails></tem:getMotorPremium>
</soapenv:Body>
</soapenv:Envelope>
Я получаю значение каждого следующим образом.
def code = new XmlSlurper().parseText(response)
.Body
.getMotorPremium
.objUserDetails
.ProductCode
.text()
def Id = new XmlSlurper().parseText(response)
.Body
.getMotorPremium
.objUserDetails
.ProductId
.text()
def Name = new XmlSlurper().parseText(response)
.Body
.getMotorPremium
.objUserDetails
.ProductName
.text()
Я не хочу использовать «новый XmlSlurper(). ParseText (ответ) .Body.getMotorPremium.objUserDetails» все время
я использовал что-то вроде этого, чтобы попробовать, но не работает .. Пожалуйста, советы
def ab = new XmlSlurper().parseText(response).Body.getMotorPremium.objUserDetails
logInfo("Product code :"+ab.ProductCode.text());
logInfo("Product Id :"+ab.ProductId.text());
logInfo("Product Name :"+ab.ProductName.text());
Код, который вы предоставили, хорошо работает. Какую версию groovy вы используете? – Opal
@Opal Я получаю как пустую строку для тех, – Syed