Groovy获取xml标签属性值
Groovy get xml tags attribute value
我正在尝试使用 groovy 获取属性 IntegratorCode 和 ProductType 的值。
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAPNYK1="http://www.w3.org/2001/XMLSchema"
xmlns:SOAPNYK2="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAPNYK3="http://schemas.xmlsoap.org/soap/encoding/">
<soap:Header>
<Authentication
xmlns="urn:iQQ:API:22:iQQMessages.xsd" EmployeeCode="*****" IntegratorCode="GENERIC" Pwd="******" Usr="SYSUSER"/>
</soap:Header>
<soap:Body>
<CanOfferProduct
xmlns="urn:iQQ:API:22:iQQMessages.xsd">
<OnQuotePackage
xmlns="" ProductType="GAP" QuoteNumber="74859">test
</OnQuotePackage>/>
</CanOfferProduct>
</soap:Body>
</soap:Envelope>
我尝试了以下使用 XmlSlurpur 的方法
def result = new XmlSlurper().parseText(xml)
println(result.Envelope.Header[1].Authentication.@IntegratorCode)
//output = IntegratorCode
我想打印 IntegratorCode 的值 "GENERIC"。
我不确定在这种情况下我做错了什么。请帮忙
你所谓的结果是soap:Envelope,所以你基本上有Envelope.Envelope... 这有效:
println result.Header.Authentication.@IntegratorCode
作为预防措施,我通常这样使用它:
def Envelope = new XmlSlurper().parseText(xml)
我正在尝试使用 groovy 获取属性 IntegratorCode 和 ProductType 的值。
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAPNYK1="http://www.w3.org/2001/XMLSchema"
xmlns:SOAPNYK2="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAPNYK3="http://schemas.xmlsoap.org/soap/encoding/">
<soap:Header>
<Authentication
xmlns="urn:iQQ:API:22:iQQMessages.xsd" EmployeeCode="*****" IntegratorCode="GENERIC" Pwd="******" Usr="SYSUSER"/>
</soap:Header>
<soap:Body>
<CanOfferProduct
xmlns="urn:iQQ:API:22:iQQMessages.xsd">
<OnQuotePackage
xmlns="" ProductType="GAP" QuoteNumber="74859">test
</OnQuotePackage>/>
</CanOfferProduct>
</soap:Body>
</soap:Envelope>
我尝试了以下使用 XmlSlurpur 的方法
def result = new XmlSlurper().parseText(xml)
println(result.Envelope.Header[1].Authentication.@IntegratorCode)
//output = IntegratorCode
我想打印 IntegratorCode 的值 "GENERIC"。 我不确定在这种情况下我做错了什么。请帮忙
你所谓的结果是soap:Envelope,所以你基本上有Envelope.Envelope... 这有效:
println result.Header.Authentication.@IntegratorCode
作为预防措施,我通常这样使用它:
def Envelope = new XmlSlurper().parseText(xml)