Чтение XML-элемента с помощью XmlSlurper в Groovy - PullRequest
3 голосов
/ 24 марта 2011

Я хотел бы проанализировать документ XML (сообщение с запросом SOAP) для определенного элемента. Документ хранится в requestContent и выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:udb="http://somenamespace>
    <soap:Header/>
    <soap:Body>
        <udb:ProvideUDBIdentityInformationRequest>
            <udb:RequestID>1</udb:RequestID>
            <udb:IDnumber>1</udb:IDnumber>
            <udb:UnifiedNumber>3</udb:UnifiedNumber>
        </udb:ProvideUDBIdentityInformationRequest>
    </soap:Body>
</soap:Envelope>

Мой Groovy-код выглядит так:

def request = new XmlSlurper().parseText(requestContent)
println request.ProvideUDBIdentityInformationRequest.RequestID

Однако вывод пуст, тогда как я ожидал бы «1».

Спасибо, Роберт

1 Ответ

4 голосов
/ 24 марта 2011

Можете ли вы попробовать:

println request.Body.ProvideUDBIdentityInformationRequest.RequestID

(у вас также отсутствует " в конце объявления xml, но я думаю, что это ошибка вырезания / вставки?)

...