我正在解析XML文件中的数据,并且XML的字符'编码为%27%,字符“为%22%。这些字符在我的HTML中呈现,所以我最终得到这样的数据:
派克%27%s峰值
或
这是我的%22%报价%22%
我试图执行string.replace(),但无济于事。在使用javascript解析XML时,我是一个新手。我确定我的代码已经过时了,但这就是我发布此任务的原因......任何人都可以帮助我吗?这是我尝试的string.replace()的代码:
function xmlencode(string) {
return string.replace(/'%27'/g,'\'').replace(/'%22'/g,'\"');
}
非常感谢您的反馈。
谢谢, 卡洛斯
答案 0 :(得分:0)
这是一些专有编码,通常在XML文件中使用。因此,没有标准的解码方法。
你的函数中有一些额外的撇号使它无法工作:
function decode(string) {
return string.replace(/%27%/g,"'").replace(/%22%/g,'"');
}
您可以解析百分号之间的十六进制代码,以获得适用于任何此类实体的函数:
function decode(string) {
return string.replace(/%[\da-f]{2}%/gi,function(m) {
return String.fromCharCode(parseInt(m.substr(1,2), 16));
});
}
示例:
alert(decode("%49%%74%%20%%77%%6f%%72%%6b%%73%%21%"));