人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【PHP5.2.0のSimpleXML関数】を使って、
AmazonWebサービスから受け取ったXML文書を表示させようとしていますが、
ユニークでない要素にアクセスして繰り返し表示する方法を教えてください。
<br>
<br>
<a href="http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=0QRPDEYA3S34NHGWRRG2&Version=2007-01-15&Operation=ItemLookup&ItemId=4344004299&ResponseGroup=Reviews,ItemAttributes,SalesRank,OfferFull&MerchantId=All&Condition=All">AmazonWebサービスから取得した$XML</a>を、
<br>
$obj = simplexml_load_string($xml) or exit("エラー");
<br>
として単一の要素、例えば
<br>
echo 'ASIN:' . $obj->Items->Item->ASIN .'&lt;br&gt';
<br>
はちゃんと表示されるんですが、
複数あるOffer要素の中身を繰り返し表示させようと、
<br>
foreach($obj->xpath('//Offer') as $Offer){
echo $Offer->Seller->SellerId .'&lt;br&gt';
echo $Offer->OfferAttributes->Condition .'&lt;br&gt';
echo $Offer->OfferListing->Price->Amount .'&lt;br&gt&lt;br&gt';
{
<br>
としても、
Parse error: parse error, unexpected $end in F:\app\xampp\htdocs\isbn.php on line 234
というエラーがでてしまいます。line 234 は、/body,/HTMLタグの直後で空行です。

よろしくお願いいたします。

●質問者: renpon
●カテゴリ:インターネット ウェブ制作
✍キーワード:2.0 AS ASIN BODY br
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ●
●35ポイント

上記に引用されている最後のbrタグの直前のcurly bracketの向きが間違っていませんか。

curly bracketの記述ミスで起こるエラーです。

あるいは、php.iniなどの設定でshort_open_tagをoffにしているのにスクリプト中で使っている、ということはありませんか。

◎質問者からの返答

回答ありがとうございます。

curly bracketの向きを訂正しました。

エラー表示は出なくなりましたが、foreachでの繰り返し処理の部分が何も表示されません。

ユニークな要素については問題なく表示されます。また、Offにしているshort_open_tagは使っていません。よろしくお願いいたします。


2 ●
●500ポイント ベストアンサー

$objの中身をvar_dump()やprint_r()で確認していただければ分かると思いますが、simplexml_load_stringの結果はXMLではなく配列になっています。

XPathでの情報検索はできません。

foreach ( $obj->Items->Item->Offers->Offer as $offer ) {
 echo $offer->Seller->SellerId . "<br />";
 echo $offer->OfferAttributes->Condition . "<br />";
 echo $offer->OfferListing->Price->Amount . "<br />";
}

上記のように取得すれば良いはずです。

勉強目的でしたら、このやり方でも構わないと思いますが、本格的に活用する予定でしたらPEAR::Services_Amazonを使った方が良いと思います。

参考になれば幸いです。

◎質問者からの返答

ご教示いただいた構文で、動きました。

初心者には敷居が高そうですが、

PEAR::Services_Amazonも活用できるように

なれるよう頑張ろうと思います。

本当にありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ