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

时间:2015-06-22 10:47:34

标签: javascript xml netsuite

我正在使用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;  
}

1 个答案:

答案 0 :(得分:0)

我传入函数的xmlstring已被转义。以下解决了这个问题:

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