Javascript 在未扫描的XML中解析unicode

Javascript 在未扫描的XML中解析unicode,javascript,jquery,xml,unicode,Javascript,Jquery,Xml,Unicode,我试图解析一些格式不好的XML 我说格式不好——因为每个人都知道XML文件中不应该有未转义的符号 问题是,我需要从XML文件中收集一些unicode格式的短语。我需要的格式是尽可能接近原始。您可以在控制台日志中复制此问题 console.log($("<test>&#xE2;</test>").text()) // Outputs 'â' instead of desired '&#xE2;' console.log($(“â;”).text()

我试图解析一些格式不好的XML

我说格式不好——因为每个人都知道XML文件中不应该有未转义的符号

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

console.log($("<test>&#xE2;</test>").text())
// Outputs 'â' instead of desired '&#xE2;'
console.log($(“â;”).text())
//输出为&–而不是所需的â;'
我尝试了
escape
unescape()
encodeURI()
decodeURI()
的每一种组合,我都能理解

我已经尝试了jQuery的
ajax({processData:bool})
标志的两种设置。我找到的所有答案都指向这些解决方案——而且似乎它们都不起作用

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

使用
新选项(yourUnescapedXml).innerHTML
。所以直接回答你的问题,

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

这将创建一个,然后立即获取它的(转义的)innerHtml。

不知道它是如何工作的-但我不能对结果提出异议!谢谢你,伙计!(编辑:在接受答案之前需要再等6分钟——但如果有人发帖,我会选择这个。这是最直接的答案)我已经更新了答案来解释它是如何工作的。如果您想接受此答案,请将其标记为“已接受”。再次感谢您提供的更多信息。本可以更早地标记出来,但从提问到选择答案有10分钟的冷却时间。可能的副本不是。这不是一个通用的转义/取消转义问题,而是unicode特有的问题。如果你想打旗子,至少读一下问题。谢谢,我看了问题。只是误解了。下次试着用一些xml示例代码和javascript代码以恰当的方式解释您的问题,这些代码解释了您如何尝试读出这些短语。你的标题有误:你不想解析它。您希望从xml中检索它,而不需要使用unicode字符进行自动交换。这是不一样的。在您的示例中,将所有
&
替换为
&。您不需要创建HTMLNodes的开销:
console.log($('+'和#xE2;'.replace('&','&;'))+'.text())