PHP SimpleXML:未捕获异常';异常';带有消息';字符串无法解析为XML'


PHP SimpleXML: Uncaught exception 'Exception' with message 'String could not be parsed as XML'

读取XML:时出现此错误

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : Start tag expected, '<' not found
Warning: SimpleXMLElement::__construct(): feed.xml
Warning: SimpleXMLElement::__construct(): ^
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in  #1 {main} thrown 

PHP:

$feed = new SimpleXMLElement("feed.xml");
echo $feed->SHOPITEM[0]->ID_PRODUCT;

XML:

<?xml version="1.0" encoding="utf-8"?>
<PRODUCTS>
  <SHOPITEM>
    <ID_PRODUCT><![CDATA[121110]]></ID_PRODUCT>
  </SHOPITEM>
  <SHOPITEM>
    <ID_PRODUCT><![CDATA[121111]]></ID_PRODUCT>
  </SHOPITEM>
</PRODUCTS>

错误出现在释放new SimpleXMLElement("feed.xml)的行上。问题出在哪里?XML文件有效。

像这样加载文件

<?php
$feed = new SimpleXMLElement("xml.xml",null,true);
echo $feed->SHOPITEM[0]->ID_PRODUCT;
//prints 121110

查看此处的文档http://php.net/manual/en/simplexmlelement.construct.php

使用TRUE指定数据是XML文档的路径或URL,而不是字符串数据。