PHP SimpleXML:未捕获的异常'异常'带消息' String无法解析为XML'

时间:2015-07-02 20:46:40

标签: php 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文件有效。

1 个答案:

答案 0 :(得分:4)

像这样加载文件

<?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,而不是字符串数据。