SimpleXML foreach不起作用

时间:2017-08-09 17:52:02

标签: php xml foreach simplexml

我有以下XML(source.xml):

A = load 'test1.csv' using PigStorage(',') as (col1:int,col2:int,col3:int,col4:int,col5:chararray);
B = FILTER A BY col5 == 'pound';

以下代码:

<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

不幸的是,它不起作用。即使我把回音'a';进入foreach周期,什么都没有出现。 XML是有效的。尝试了var_dump($ xml)并且XML看起来正确加载。怎么了?谢谢。

1 个答案:

答案 0 :(得分:1)

$xml = simplexml_load_file("source.xml", NULL, LIBXML_NOCDATA);

foreach ($xml->SHOPITEM as $shopitem) {

  echo  $shopitem->ITEM_ID;

}