XML解析错误

时间:2014-04-21 12:54:08

标签: php xml xml-parsing

我试图解析XML文件但是解析错误。

代码::

$xmlUrl = 'products.xml';
$xmlStr = file_get_contents($xmlUrl); 
$xmlObj = simplexml_load_string($xmlStr);

XML文件::

<?xml version="1.0" encoding="UTF-8"?>
<result>
    <orderlist>
            <order_no>123123</order_no>
            <date></date>
            <client_name>Knapp's Donut Shop</client_name>
            <sector>54</sector>
    </orderlist>
</result>

由于此标记我收到错误

<client_name>Knapp's Donut Shop</client_name>

1 个答案:

答案 0 :(得分:1)

转换为SimpleXML对象并且输出有效,请参阅下面的代码示例。 检查“products.xml”文件以获取正确的UTF-8编码类型。

<?php

$xml = <<< XML
<?xml version="1.0" encoding="UTF-8"?>
<result>
    <orderlist>
            <order_no>123123</order_no>
            <date></date>
            <client_name>Knapp & Donut Shop</client_name>
            <sector>54</sector>
    </orderlist>
</result>
XML;

$xml = str_replace(array("&amp;", "&"), array("&", "&amp;"), $xml);

$xmlObj = simplexml_load_string($xml);

var_dump($xmlObj);

echo PHP_EOL . $xmlObj->orderlist->client_name;

// Result: Knapp & Donut Shop