simplexml_load_string()StartTag:元素名称无效

时间:2017-11-13 12:12:49

标签: php simplexml-load-string

我使用simplexml_load_string()来解析XML API响应。

$lien = "http://myresponseurl";
$page = simplexml_load_string($this->get_data($lien));

Everythink工作得很好,除了在这种情况下:

<libdivision><1500 Poule H</libdivision>

要取回的文字应为“&lt; 1500 Poule H”但是,“&lt;” caractère也是XML中开头标记的象征......

如何在没有任何错误的情况下取回“&lt; 1500 Poule H”?

Warning: simplexml_load_string(): Entity: line 4: parser error : StartTag: invalid element name
Warning: simplexml_load_string(): <libdivision><1500 Poule G</libdivision>
Warning: simplexml_load_string(): ^

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

<libdivision><1500 Poule H</libdivision>

这是无效的XML。 API的提供者应该解决这个问题,这是API中的一个明显错误,客户端不负责处理格式错误的数据。有两种选择:

将其包裹在CDATA字段中:

<libdivision><![CDATA[<1500 Poule H]]></libdivision>

或编码符号:

<libdivision>&lt;1500 Poule H</libdivision>
相关问题