XMLファイルから情報を抽出しようとすると、このエラーが発生します。情報を取得するためのコードは次のとおりです。
//retrieve amazon data
$parsed_xml = amazon_xml($isbn);
$amazonResult = array();
//print_r($parsed_xml); die;
$current = $parsed_xml->ListMatchingProductsResponse->ListMatchingProductsResult->Products->Product;
//if($parsed_xml) {
$amazonResult = array(
'Title' => $current->AttributeSets->children('ns2')->ItemAttributes->Title,
'SalesRank' => $current->SalesRankings->SalesRank->Rank,
'ListPrice' => $current->AttributeSets->ItemAttributes->ListPrice->Amount,
'ImageURL' => $current->AttributeSets->ItemAttributes->SmallImage->URL,
'DetailURL' => $current->AttributeSets->ItemAttributes->SmallImage->URL,
XMLファイルは次のとおりです。
<?xml version="1.0"?>
<ListMatchingProductsResponse xmlns="http://mws.amazonservices.com/schema/Products/2011-10-01">
<ListMatchingProductsResult>
<Products xmlns="http://mws.amazonservices.com/schema/Products/2011-10-01" xmlns:ns2="http://mws.amazonservices.com/schema/Products/2011-10-01/default.xsd">
<Product>
<AttributeSets>
<ns2:ItemAttributes xml:lang="en-US">
<ns2:Title>JavaScript: The Missing Manual</ns2:Title>
これを実行するとnull値が返され、エラーログを確認すると次のようになります。52行目の...の非オブジェクトでメンバー関数children()を呼び出す。問題のある行は次のとおりです。
'Title' => $current->AttributeSets->children('ns2')->ItemAttributes->Title,
ns2の名前空間を持つ唯一のアイテムは、ItemAttributesとTitleです。
タイトル情報を取得できるように、これを修正するにはどうすればよいですか?ありがとう