search()函数无法解析XML响应中的字符串



我正在使用someresponse.getBody();以存储我从Web服务返回的XML响应。当我将其传递给下面的函数时,无法使用search()或indexOf()对其进行解析更正。两者都返回10和-1的开始和结束位置。

但是,当我从执行日志中提取响应的主体并使用该值对变量进行硬编码时。当我将该值传递给同一个函数时,它将按预期进行处理。

这看起来是一个格式问题。知道我在这里能做什么吗?我仅限于使用Javascript或NetSuite API,代码运行在服务器端。

我使用以下方法调用函数:var xmlCCConnote=getValue('CCConnote',response);

function getValue(tag,xmlString){
    var value;  
    var tempString;  
    var startTag,endTag;  
    var startPos,endPos;  
    startTag = "<"+tag+">";  
    endTag = "</"+tag+">";  
    tempString=xmlString;
    startPos = tempString.indexOf(startTag) + startTag.length;
    nlapiLogExecution('DEBUG', 'startPos = ', startPos);
    endPos = tempString.indexOf(endTag);
    nlapiLogExecution('DEBUG', 'endPos = ', endPos);
    value = tempString.slice(startPos,endPos);  
    return value;  
}

我传递给函数的xmlstring被转义了。以下修复了问题:

startTag = '&lt;'+tag+'&gt;';
endTag = '&lt;/'+tag+'&gt;';

最新更新