Ask a Question

Groovy loop for parsing - XML Content is not allowed in prolog

SOLVED
Perchishka
Occasional Contributor

Groovy loop for parsing - XML Content is not allowed in prolog

Hello!

Could you help me please.

 I have a JDBC Request and response looks like:

<Results>
    <ResultSet fetchSize="0">
        <Row rowNumber="1">
            <PS_CONTENT_ONDEMAND.EXTERNAL_CODE>f538de04</PS_CONTENT_ONDEMAND.EXTERNAL_CODE>
            <PS_CONTENT_ONDEMAND.SUBSCRIBE_PARAMS_ID>8765</PS_CONTENT_ONDEMAND.SUBSCRIBE_PARAMS_ID>
            <PS_CONTENT_ONDEMAND.DATE>2017-03-15 00:00:00.705</PS_CONTENT_ONDEMAND.DATE>
            <PS_SUBSCRIBE_PARAMS.URL>http://stk.o4evidec.ru/?alias=mtsby_dance</PS_SUBSCRIBE_PARAMS.URL>
            <PS_SUBSCRIBE_PARAMS.ID>8765</PS_SUBSCRIBE_PARAMS.ID>
        </Row>
        <Row rowNumber="2">
            <PS_CONTENT_ONDEMAND.EXTERNAL_CODE>2273851</PS_CONTENT_ONDEMAND.EXTERNAL_CODE>
            <PS_CONTENT_ONDEMAND.SUBSCRIBE_PARAMS_ID>8766</PS_CONTENT_ONDEMAND.SUBSCRIBE_PARAMS_ID>
            <PS_CONTENT_ONDEMAND.DATE>2017-03-15 06:00:00.944</PS_CONTENT_ONDEMAND.DATE>
            <PS_SUBSCRIBE_PARAMS.URL>http://intra.mobile-content.a1s/alias/tele2_dema</PS_SUBSCRIBE_PARAMS.URL>
            <PS_SUBSCRIBE_PARAMS.ID>8766</PS_SUBSCRIBE_PARAMS.ID>
        </Row>

I need to create a loop to set each node :

PS_CONTENT_ONDEMAND.EXTERNAL_CODE

as property in  that testCase

 

At first, I decided to create a  script assertion with a simple loop  to check how it works :

def parsedXml = new XmlSlurper().parseText("context.ResponseasXML")
parsedXml.Row.each { Row ->
println "Row index: ${Row.@rowNumber}"
Row.children().each{ tag -> println " ${tag.name()}: ${tag.text()}"
  }
}

But I have an error :

Content is not allowed in prolog

What should i do?

 

2 REPLIES 2
HKosova
SmartBear Alumni (Retired)

Hi Perchishka,

 

The error is caused by the quotes around "context.ResponseasXML" - this way it's treated as a literal string instead of an object property. Remove the quotes here.

 

Also replace println with SoapUI's log.info.


Also

parsedXml.Row.each { ...

should be

parsedXml.ResultSet.Row.each { ...

Helen Kosova
SmartBear Documentation Team Lead
________________________
Did my reply answer your question? Give Kudos or Accept it as a Solution to help others. ⬇️⬇️⬇️
Perchishka
Occasional Contributor

Thank you very much!Smiley Happy

It works

cancel
Showing results for 
Search instead for 
Did you mean: