在未转义的XML

时间:2017-09-25 00:55:47

标签: javascript jquery xml unicode

我试图解析一些格式不正确的XML。

我说格式不正确 - 因为每个人都知道你不应该在XML文件中包含未转义的&符号。

问题是,我需要从XML文件中收集一些 unicode格式化短语。我需要格式尽可能接近原始格式。您可以在控制台日志中复制此问题...

console.log($("<test>&#xE2;</test>").text())
// Outputs 'â' instead of desired '&#xE2;'

我已经尝试了escapeunescape()encodeURI()decodeURI()我可以理解的所有组合。

我已尝试过jQuery的ajax({processData: bool})标志的两种设置。我发现的所有答案都指向了这些解决方案 - 而且看起来它们都不起作用......

如何修改上述代码以输出原始XML内容?

1 个答案:

答案 0 :(得分:1)

使用new Option(yourUnescapedXml).innerHTML。所以直接回答你的问题,

console.log($(`<test>${new Option('&#xE2;').innerHTML}</test>`).text())

这会创建一个HTMLOptionElement,然后立即获取(转义)innerHtml。