在Groovy中使用XmlSlurper读取XML元素

时间:2011-03-24 08:01:54

标签: groovy xmlslurper

我想为特定元素解析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 个答案:

答案 0 :(得分:4)

你可以尝试:

println request.Body.ProvideUDBIdentityInformationRequest.RequestID

(你在xml声明的末尾也缺少",但我猜这是剪切/粘贴错误?)