У меня есть soapui
, и я пытаюсь извлечь значение false из файла XML.Groovy извлекает значение из xml-файла
responseCurrentDate.xml
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="https://alo.io/ns/20130518">
<soap:Body>
<log_resp>
<alo_env>
<cid>K06BZQ6476WHP5ZFWW0NEJC937GB</cid>
<result>ALO_OK</result>
</alo_env>
<item>
<response>{"timestamp": "2015-11-12T03:02:45Z", "data": null, "success": false, "error": {"message": "{'desc': \"Can't contact LDAP server\"}", "code": 500, "label": "Internal Server Error"}}</response>
</item>
</log_resp>
</soap:Body>
</soap:Envelope>
Я попытался это с заводной
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def date = new Date()
def dts = date.format("yyy-MM-dd-HH-mm-ss")
def myOutFile = "C:/temp2/response"+dts+".xml"
def response = context.expand('${login#Response}')
def f = new File(myOutFile)
f.write(response, "UTF-8")
def xmlfile = myOutFile
def x = new XmlParser(),parseText(myOutFile)
println it.response.item.success
я получил ошибку:
org.xml.sax,SAXException.lineNumber1mcolumnNumber1,Content is not allowed in Prolog
Почему вы пишете его в файл, а затем вызывают текст разбора в файле? Просто позвоните parseText в ответ –