【发布时间】:2017-08-09 17:52:01
【问题描述】:
我有以下 XML (source.xml):
<SHOP>
<SHOPITEM>
<ITEM_ID>3664</ITEM_ID>
<PRODUCT>Product n.1</PRODUCT>
<PRODUCT_NAME>Product n.1</PRODUCT_NAME>
<VARIANT_NAME/>
<MANUFACTURER>Jeffrey</MANUFACTURER>
<CODE>ABC123</CODE>
<EAN>123456789</EAN>
<DESCRIPTION>
Maybe later...
</DESCRIPTION>
<DESCRIPTION_HTML/>
<CATEGORIES>
<CATEGORY id="1" parent_id="0">ABx</CATEGORY>
</CATEGORIES>
</SHOPITEM>
<SHOPITEM>
...etc
以下代码:
$xml = simplexml_load_file("source.xml", NULL, LIBXML_NOCDATA);
foreach ($xml->shopitem as $shopitem) {
echo $shopitem->item_id;
}
不幸的是,它不起作用。即使我把 echo 'a';进入foreach循环,什么也没有出现。 XML 有效。尝试 var_dump($xml) 并且 XML 看起来已正确加载。怎么了?谢谢。
【问题讨论】:
-
XML 区分大小写。
-
非常感谢!
-
旁注:你不需要
LIBXML_NOCDATA;它唯一能做的就是让print_r和其他调试功能的输出稍微清晰一些,在一些罕见的情况下;使用echo或将值放入变量时,它不会改变实际行为。