Netsuite中有类似于以下内容的地址数据,请注意,在包含"<“和">”的内容中,与其他需要转义为XML文档中的有效字符的字符一起签名。12企业研发单位3&4<5> "6“'7‘
在javascript (javascript的网版)中,我尝试了下面的"FOR“循环,最后数据被转换为& lt;和& gt;(如下面所示,没有空格)12个企业RD单元3& gt;4>;5>;"6”'7‘
var EscapedField = '';
for (var pos = 0; pos < FieldToEscape.length; pos++)
{
switch (FieldToEscape.charAt(pos))
{
// escape "less than"
case "<":
EscapedField = EscapedField + '<'
break;
// escape "greater than"
case ">":
EscapedField = EscapedField + '>'
break;
default:
EscapedField = EscapedField + FieldToEscape.charAt(pos)
break;
}
} 根据egrubaugh360的建议,我在"Netsuite“/ Javascript中尝试了以下内容:
1)我有一个结果集,其中包含一个地址,其中包含(&,<,>,“,'),(例如,小于,大于,双引号,单引号)
2)当您查看调试器中的值时,它们是有效的
3)在数据集上执行NS函数nlapiEscapeXML后,"<“和">”转换为& lt;和& gt;实际转义字符
var ADDRLINE1 =ADDRLINE1
$ resultsi.getValue('shipaddress1')
12企业研发单位3&4<5> "6“'7‘
$ ADDRLINE1
12企业RD单元3&4& lt;5& gt;6“7”
4)在NetSuite / javascript中,我尝试过许多转义“<”和“>”的排列,但它们最终都被转换为<和>
我将尝试在正在处理文件的ETL工具(Jitterbit)中使用字符串替代< and >,该工具应该可以工作,但是它的挂钩。
5)谢谢你的帮助
发布于 2014-10-01 00:40:03
NetSuite API包含一个用于此目的的方法:nlapiEscapeXML,我建议在NetSuite帮助中研究这个方法。它接受单个字符串参数,并(应该)返回带有任何适当转义XML控制字符的相同字符串。
发布于 2022-05-13 12:15:30
如果您使用的是2.1或2.0,那么在'N/xml‘模块'xml.escape’中有一个函数使用此方法来转义。
如果这也不起作用,那么使用正则表达式的JavaScript替换方法。
https://stackoverflow.com/questions/26130603
复制相似问题