PHP SimpleXML:未捕获的异常“异常”,消息“字符串无法解析为 XML”

Jac*_*vis 1 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 
Run Code Online (Sandbox Code Playgroud)

PHP:

$feed = new SimpleXMLElement("feed.xml");
echo $feed->SHOPITEM[0]->ID_PRODUCT;
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*rei 6

像这样加载文件

<?php

$feed = new SimpleXMLElement("xml.xml",null,true);
echo $feed->SHOPITEM[0]->ID_PRODUCT;
//prints 121110
Run Code Online (Sandbox Code Playgroud)

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

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