我在php中读取xml,但我在解析时遇到错误:
警告:simplexml_load_string()[function.simplexml-load-string]: 实体:第5行:解析器错误:解析属性名称时出错
我的xml字符串是:
$xmlString = '<?xml version="1.0" encoding="UTF-8"?>
<messages>
<message>
<date>1352210570</date>
<from>Rui <rui@mail.pt></from>
<subject>Mensagem de Teste</subject>
<url>test.com</url>
</message>
</messages>';
我使用simplexml_load_string($ xmlString);
解析xml我怎么能逃脱&lt;和&gt;在节点??
答案 0 :(得分:0)
$xmlString = '<?xml version="1.0" encoding="UTF-8"?>
<messages>
<message>
<date>1352210570</date>
<from><![CDATA[Rui <rui@mail.pt>]]></from>
<subject>Mensagem de Teste</subject>
<url>test.com</url>
</message>
</messages>';
您的代码添加了<![CDATA[
标记后的<from>
和]]>
标记前的</from>
。
请注意,在CDATA标记内,没有引号来表示字符串。这最初使我绊倒了,所以我试图确保它不会发生在其他人身上。
虽然<
和>
在性能方面可能稍微快一些,但如果您正在编写可能的动态XML字符串,那么<![CDATA[someText]]>
更像是“一揽子逃脱”