逃脱<在xml节点中

时间:2012-11-20 14:43:11

标签: xml parsing

我在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;在节点??

1 个答案:

答案 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标记内,没有引号来表示字符串。这最初使我绊倒了,所以我试图确保它不会发生在其他人身上。

虽然&lt;&gt;在性能方面可能稍微快一些,但如果您正在编写可能的动态XML字符串,那么<![CDATA[someText]]>更像是“一揽子逃脱”