【问题标题】:Invisible characters not letting me parse xml不让我解析 xml 的不可见字符
【发布时间】:2016-09-30 15:32:50
【问题描述】:

我通过 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)甚至不显示这些字符...

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

请有人帮忙!

【问题讨论】:

  • '看不见的角色不允许我(...)' - 这听起来很激进。 :-) 为什么你会得到这些字符?它们是您必须处理的服务器的合法回答,还是这种类型的回答表明之前阶段有错误?
  • :) 卡住了,这就是为什么......这些不是合法字符,我正在处理短信数据......所以不知道如何但可能是用户以某种方式发送了一些带有这些字符的消息( ^@)..

标签: javascript xml parsing control-characters parsexml


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    相关资源
    最近更新 更多