【发布时间】:2011-07-05 20:55:07
【问题描述】:
所以我有一个 PHP 脚本来解析来自 Google Analytics 的 XML 响应。它已经工作了几个星期,但今天我收到了这个警告,简单的 xml 加载字符串没有将 xml 响应转换为 simplexml 对象。
消息:simplexml_load_string(): 实体:第 743 行:解析器错误: 实体“acirc”未定义
在将响应传递到 simplexml_load_string 之前,我已经尝试对响应进行 utf8_encoding,但它不起作用。我相信 acirc 是一个编码符号,并且这个符号以某种方式搞砸了解析器?
我收到了两次上述警告,然后我也收到了两次:
消息:simplexml_load_string(): 实体:第 743 行:解析器错误: 实体 'cent' 未定义
任何建议都会有很大帮助,谢谢!
感谢 Marc 的评论,我已经尝试过了:
$xml = simplexml_load_string(htmlspecialchars_decode($response_body));
我得到一个有趣的错误,但 xml 对象仍然是空的:
实体:第 743 行:解析器错误:输入 不是正确的UTF-8,表示编码 !字节数:0x84 0x26 0x63 0x65
【问题讨论】:
-
XML 仅支持 XML 元字符 (
'"<>&) 的 5 个字符实体。其他任何东西都是无效的 XML,它基本上是所有的 HTML 字符实体。