隐形字符不让我解析xml

时间:2016-06-01 10:12:15

标签: javascript xml parsing control-characters parsexml

我通过ajax请求从服务器获取xml字符串。但它没有通过jquery-

解析
var xml = $.parseXML("<dummy>"+xmlStr+"</dummy>");

我收到了错误 -

Uncaught Error: Invalid XML: <dummy><SMSInfo><smsTo>7005056</smsTo...

我进一步调试了xml无效的原因,从调试到jquery parseXML函数得到以下错误 -

This page contains the following errors:error on line 1 at column 7624: Char 0x0 out of allowed range↵Below is a rendering of the page up to the first error.

此外,我仍然将xml数据从控制台复制到新文件并在另一个编辑器中打开,在那里我可以看到这些字符 -

^@Z ^@6 ^@1 ...

我的常用编辑(Webstorm)甚至没有显示这些字符...

我无法弄清楚如何删除这些字符......这些不是通常的“&lt;,&gt;,&amp;”字符(我已经清理过了)

请有人帮忙!

1 个答案:

答案 0 :(得分:1)

在unicode 0x0中代表null并解析此null会导致异常。
尝试找出null的原因是什么,从根本上解决问题。
在这个SO问题中讨论了一个非常类似的问题:Error about invalid XML characters on Java