javascript - 在 Netsuite Javascript/ReSTLet 中转义 "<"小于号和 ">"大于号

标签 javascript netsuite

我在 Netsuite 中的地址数据如下所示,请注意,其中包含“<”和“>”,然后与需要转义为 XML 文档中的有效字符的其他字符一起签名。 12 企业研发单元 3 和 4 < 5 > "6"'7'

在 javascript(netsuites 版本的 javascript)中,我尝试了以下“FOR”循环,数据最终将 < 和 > 转换为 < ;和> (如下所示,没有空格) 12 企业研发单元 3 & 4 < 5> “6”“7”

var EscapedField = '';
for (var pos = 0; pos < FieldToEscape.length; pos++) 
    {             
        switch (FieldToEscape.charAt(pos)) 
        {
        // escape "less than"   
        case "<":
            EscapedField = EscapedField + '&lt;'
            break;
        // escape "greater than" 
        case ">":
            EscapedField = EscapedField + '&gt;' 
            break;
        default:
            EscapedField = EscapedField + FieldToEscape.charAt(pos)
            break;
       }
    } 

根据egrubaugh360的建议,我在“Netsuite”/Javascript中尝试了以下内容,

1) 我有一个结果集,其中包含一个地址,其中包含 ( & 、 < 、 > 、 "、 ') 、(即与号、小于、大于、双引号、单引号)

2) 当您查看调试器中的值时,它们是有效的

3) 在数据集上执行 NS 函数 nlapiEscapeXML 后,“<”和“">”将转换为 <和>实际转义字符

var ADDRLINE1 = nlapiEscapeXML(results[i].getValue('shipaddress1'));

$ results[i].getValue('shipaddress1')

12 ENTERPRISE RD UNIT 3 & 4 < 5 > "6" '7'

$ADDRLINE1

12 ENTERPRISE RD UNIT 3 & 4 & lt; 5 & gt; "6" '7'

4) 在 NetSuite/javascript 中,我尝试了多种转义“<”和“>”的排列,但它们最终都被转换为 < 和 >

我将在处理文件的 ETL 工具(Jitterbit)中尝试用字符串替换 < 和 >,这应该可以工作,但它很奇怪。

5)感谢您的帮助

最佳答案

NetSuite API 包含用于此目的的方法:nlapiEscapeXML 我建议在 NetSuite 帮助中研究此方法。它接受单个 String 参数,并且(应该)返回相同的字符串,并适当转义任何 XML 控制字符。

关于javascript - 在 Netsuite Javascript/ReSTLet 中转义 "<"小于号和 ">"大于号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26130603/

相关文章:

javascript - document.execCommand ('heading' ..') 在 Chrome 中

javascript - 我们可以为 Google Analytics v4 API 添加 2 个以上的范围吗

javascript - 如何在NetSuite中点击SO的 "Close Order"按钮后弹出确认对话框?

javascript - 元素在 Chrome 77 上短暂消失并重新出现

javascript - 更改 PartialView 中 <p> 的值

javascript - 根据属性重新排序对象数组

c# - 基于 Netsuite token 的 API 调用中的身份验证不明确

NetSuite:更改客户在网上商店注册时的默认角色

php - 使用 php 在 netsuite 中实现 Oauth

javascript - 通过突出显示在所有 TD 中找到值(value)