2017-08-09 7 views
0

を動作しません:のSimpleXML foreachのは、私は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; 
} 

残念ながら、それは動作しません。たとえ私がエコー「a」を置いても; foreachサイクルに何も表示されません。 XMLは有効です。 var_dump($ xml)を試してみて、XMLが正しく読み込まれるように見えます。なにが問題ですか?ありがとうございました。

+2

大文字と小文字が区別されます。 – ThW

+0

ありがとう! – Mishkin

+0

サイドノート: 'LIBXML_NOCDATA'は必要ありません。稀な状況では、 'print_r'や他のデバッグ関数の出力をやや鮮明にすることしかできません。 'echo'を使うときや変数に値を渡すときの実際の振る舞いは変わりません。 – IMSoP

答えて

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

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

    echo $shopitem->ITEM_ID; 

} 
+0

ありがとうございました!私はすべてを試して2時間後に働いているのを見てとてもうれしいです:)))) – Mishkin

関連する問題