雨の日回答ポイント 100ptウォッチ

PHPによるxmlのパースに関して質問です、


ヤフオクAPIでレスポンスフィールドに返ってこないノードがある場合どのように処理すれば良いのでしょうか?
実例を上げると「/ResultSet/Result/Item/Option/FreeshippingIcon」は送料無料アイコンのURLが格納されているのですが、このOption以下のノードは必ずしもあるわけではありません。

例)
<Item>
〜省略〜
<Option>
<FreeShippingIcon>
http://i.yimg.jp/images/auct/template/ui/auc_mod/ic_free_shipping.png
</FreeShippingIcon>
</Option>
〜省略〜
</Item>
<Item>
〜省略〜
<Option>
</Option>
〜省略〜
</Item>

現在foreachで取得し、FreeShippingIconに文字列が入っていれば、「送料無料」と表示したいのですが、上記の通り「/ResultSet/Result/Item/Option/FreeshippingIcon」があったりなかったりする為がうまく行きません。

そこで、ノード「FreeShippingIcon」があるかないかで判断したい(ノード「FreeShippingIcon」があれば送料無料)のですがどのように書けばよいでしょうか?

ちなみに現状は以下です。
foreach ($result->Result->Item as $item) {
$arr[] = array(
'price' => floor($item->CurrentPrice),
'title' => convert($item->Title),
'shipping' => convert($item->Option->FreeshippingIcon) != '' ? '送料無料' : ''
);
}

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

ベストアンサー

その他の回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2015-07-22 00:48:16
終了日時
2015-07-23 01:21:53
回答条件
1人1回まで

この質問のカテゴリ

この質問に含まれるキーワード

XML844API1084PHP7798ヤフオク682ノード95URL11376パース109アイコン1692

人気の質問

メニュー

PC版