Php 解析XML文件(RSS)时转义单引号

Php 解析XML文件(RSS)时转义单引号,php,xml,parsing,xml-parsing,Php,Xml,Parsing,Xml Parsing,我有一个我要解析的XML文件。。我没有生成XML。。我在解析文件时遇到了一个问题。。。有一个节点具有“单引号。。这会产生错误 当使用simplexml\u load\u file()时,我尝试使用addslashes()和htmlentities(),但什么都没有发生。。有没有办法解决这个问题并用引号解析文件 Warning: simplexml_load_file() [function.simplexml-load-file]: THE URL:853: parser error : Inp

我有一个我要解析的XML文件。。我没有生成XML。。我在解析文件时遇到了一个问题。。。有一个节点具有
单引号。。这会产生错误

当使用
simplexml\u load\u file()
时,我尝试使用
addslashes()
htmlentities()
,但什么都没有发生。。有没有办法解决这个问题并用引号解析文件

Warning: simplexml_load_file() [function.simplexml-load-file]: THE URL:853: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xE2 0x20 0x20 0x6C in /****/parseXML.php on line 7

听起来你好像有编码问题。单引号可能不是键盘上的单引号字符,而是由按字程序生成的更奇特的字符。结果可能是您的输入文件不是UTF-8,而是另一个多字节字符集


您需要使用文本编辑器将编码转换为完全UTF-8,或者使用PHP将文件编码(可能是ISO-8859-1)转换为UTF-8编码,然后加载。

您编写了自己的解析器例程吗?或者您是在使用PHP的内置解析器还是某些第三方库?我使用的是PHP中存在的
simplexml\u load\u file()
。。然后我从中提取数据..正如我所说,我不是XML的创建者,但我只是加载和解析它。。那么,从我的角度来看,有没有办法做到这一点呢?当你说你没有创建它时,我没有意识到你的意思是你没有对它的写入权限,而是它是一个远程URL。在这种情况下,使用
cURL
file\u get\u contents(URL)
加载URL,使用
iconv
转换编码,然后使用
simplexml\u load\u string
加载。这一切都将在内存中完成,无需访问物理文件。我厌倦了
文件获取内容
之后
iconv
从ASCII转换为UTF-8,但我遇到了另一个错误<代码>警告:simplexml加载文件()[函数.simplexml加载文件]:I/O警告:加载外部实体失败“您需要使用
simplexml加载字符串()
而不是
simplexml加载文件()
。不工作!!还有其他方法读取XML文件吗?!!