Forum Discussion
nmrao
11 years agoCommunity Hero
How are you reading node value? Are you using XmlSlurper() or XmlHoder and getNodeValue()?
skelkar
11 years agoContributor
I am using both.
For some request where I have json transalted to xml I use xm,l holder with getnodevalue.
For other requests where soapui fails to translate json into xml I use jsnslurper.
- nmrao11 years agoCommunity Hero
Here is the simple script to Test the data type. And result shows that all the element values are being treated as String only. So in your case you have to parse to the required data type as you know it from the schema.
def xml=''' <xml> <node> <val1>1</val1> <val2>12.00</val2> <val3>true</val3> <val4>testvalue</val4> </node> </xml>''' def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) def reader = groovyUtils.getXmlHolder(xml ) use (groovy.xml.dom.DOMCategory) { for( node in reader.getDomNodes( "//node" )) { node.children().each { child -> if (child.text() instanceof Integer) { log.info child.text() +" is integer" } else if (child.text() instanceof Double) { log.info child.text()+" is double" } else if (child.text() instanceof Boolean) { log.info child.text()+" is boolean" } else if (child.text() instanceof String) { log.info child.text()+" is string" } } } }Output:
Fri Feb 13 07:46:03 IST 2015:INFO:1 is string Fri Feb 13 07:46:03 IST 2015:INFO:12.00 is string Fri Feb 13 07:46:03 IST 2015:INFO:true is string Fri Feb 13 07:46:03 IST 2015:INFO:testvalue is string