我在阅读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文件有效。
答案 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,而不是字符串数据。