Getting error "content is not allowed in prolog" while parsing XML through groovy scripts
Hi
Am using groovy script to parse the XML. Am able get all the data nodes but not able to fetch the particular which i want.
Code
assert context.response
def getData = { data, element ->
new XmlSlurper().parseText(data).'**'.find {it.name() == element}
}
def inXmlStr = getData(context.response, 'Acknowledge').text()
log.info inXmlStr
def receiptId = getData(inXmlStr, 'ReceiptId')
log.info receiptId
context.testCase.setPropertyValue('ID', receiptId.IdValue.toString())
Response XML :
<?xml version="1.0" encoding="utf-8"?>
<AcknowledgeCandidateRegistration majorVersionId="1" minorVersionId="0" xmlns="http://cebtalentcentral.com">
<ApplicationArea>
<CreationDateTime>2019-02-12T15:11:05.027Z</CreationDateTime>
</ApplicationArea>
<Acknowledge>
<OriginalApplicationArea>
<CreationDateTime>2019-02-12T15:11:03.470Z</CreationDateTime>
</OriginalApplicationArea>
<ReceiptId>155785</ReceiptId> // need this particular id
<Status>Completed</Status>
<RejectCode>0</RejectCode>
<RejectReason />
</Acknowledge>
</AcknowledgeCandidateRegistration>
Regards,
Oct21
Oct21 ,
Here is the new script assertion for the attached xml
assert context.response def getData = { data, element -> new XmlSlurper().parseText(data).'**'.find {it.name() == element} } def receiptId = getData(context.response, 'ReceiptId') log.info receiptId context.testCase.setPropertyValue('ID', receiptId.toString())