Forum Discussion

max1965's avatar
max1965
Contributor
13 years ago

Extract value from XML

I have the following XML response:

<getApplicationProfileAnswer xsi:schemaLocation="UdbShInterface C:\getApplicationProfileAnswer.xsd" xmlns="UdbShInterface" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<version>1.6</version>
<username>0802100000</username>
<error code="7000" message="THE OPERATION IS SUCCESSFUL"/>
<optimizable>true</optimizable>
<disablingClass>C10</disablingClass>
<accessDevice>AG</accessDevice>
<userDevice>WIFI</userDevice>
<realm>digest.telecomitalia.it</realm>
<applicationServiceProfile>
<service name="405">
<param name="active" value="false"/>
</service>
<service name="CLIR">
<param name="blockingPeriod" value="1"/>
</service>
<service name="400">
<param name="date" value="0"/>
<param name="billingFlag" value="false"/>
<param name="number" value="0"/>
<param name="time" value="0"/>
<param name="active" value="false"/>
</service>
</applicationServiceProfile>
</getApplicationProfileAnswer>

I am using the following groovy script to extract data&colon;

import com.eviware.soapui.support.xml.XmlUtils
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
xmlResponseHolder = groovyUtils.getXmlHolder("<StepName>#ResponseAsXML")
xmlResponseHolder.namespaces["ns"]="UdbShInterface"
def node = xmlResponseHolder.getNodeValue("//ns:username[1]");
log.info(node);

I am not able to extract the error code value; any suggestion ?