Groovy XmlSlurper分析错误-prolog中不允许包含内容

Groovy XmlSlurper分析错误-prolog中不允许包含内容,xml,groovy,prolog,jmeter-3.2,Xml,Groovy,Prolog,Jmeter 3.2,我试图解析一个JMeterSOAP响应(XML),但是我得到了一个解析错误 org.xml.sax.SAXParseException: Content is not allowed in prolog 我已经使用在线工具验证了SOAP响应(XML)是有效的,但是没有用。我还是犯了一个错误。即使当我试图获得一个漂亮的XML输出时,我也会得到null错误,因为解析结果是null 代码片段如下所示: import groovy.util.XmlSlurper; import groovy.util

我试图解析一个JMeterSOAP响应(XML),但是我得到了一个解析错误

org.xml.sax.SAXParseException: Content is not allowed in prolog
我已经使用在线工具验证了SOAP响应(XML)是有效的,但是没有用。我还是犯了一个错误。即使当我试图获得一个漂亮的XML输出时,我也会得到null错误,因为解析结果是null

代码片段如下所示:

import groovy.util.XmlSlurper;
import groovy.util.XmlParser;
import groovy.util.slurpersupport.NodeChild;

def xmlContent = ctx.getPreviousResult().getResponseDataAsString();
log.info(xmlContent);

def stringWriter = new StringWriter()
def parse = new XmlSlurper();
def respParse = parse.parseText(xmlContent);
log.info(respParse);
def test = new XmlNodePrinter(new PrintWriter(stringWriter)).print(respParse) 
log.info(test);
XML是:

<?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
        <soapenv:Body>
            <ns2:Response xmlns:ns2="URL" xmlns="URL" xmlns:ns4="URL" xmlns:ns3="URL" xmlns:ns5="URL">
                 <something>Code</something>
                 <somethingDescription>Message</somethingDescription>
             <ns2:pending/>
                 <ns2:posted/>
         </ns2:Response>
     </soapenv:Body>
</soapenv:Envelope>

代码
消息

任何关于我做错了什么的想法

您将变量与行中的值弄错了:

def respParse = parse.parseText("xmlContent");
您传递的是字符串而不是变量
xmlContent
。应该是:

def respParse = parse.parseText(xmlContent);

我用以下代码解决了这个问题:

      import groovy.util.XmlSlurper;



       def xmlContent = ctx.getPreviousResult().getResponseDataAsString();
       log.info(xmlContent);

       def resp = new XmlSlurper().parseText(xmlContent);

       def result = resp.Body.Response;
       def respCode = resp.Body.Response.ResponseCode;
       def respCodeDesc = resp.Body.Response.Description;
       log.info(respCode.toString());

更新了代码,复制时出错。我尝试了很多不同的方法,但在提交之前忘记了更改。你能从日志中显示完整的错误吗?