私はそのようにXMLファイルからデータを取得しました
$response = simplexml_load_file($url);
print_r は次のように表示します
SimpleXMLElement Object
(
[artist] => SimpleXMLElement Object
(
[@attributes] => Array
(
[type] => Group
[id] => b9fb5447-7f95-4a6a-a157-afed2d7b9f4c
)
[name] => He Is Legend
[sort-name] => He Is Legend
[country] => US
[area] => SimpleXMLElement Object
(
[@attributes] => Array
(
[id] => 489ce91b-6658-3307-9877-795b68554c98
)
[name] => United States
[sort-name] => United States
[iso-3166-1-code-list] => SimpleXMLElement Object
(
[iso-3166-1-code] => US
)
)
)
)
したがって、名前や国などのフィールドを次のように出力できます
echo $response->artist->name;
echo $response->artist->country;
ただし、属性配列のデータにアクセスできるようになると行き詰まります。たとえば、最初の属性配列からグループのタイプを取得するにはどうすればよいですか?
編集
また、そのような関数から詳細を返そうとしています
func getDetails($id) {
$response = simplexml_load_file('http://musicbrainz.org/ws/2/artist/'.$id);
$data = array();
$data['type'] = $response->artist->attributes()->type;
$data['country'] = $response->artist->country;
return $data;
}
print_r(getDetails());
私に与えます
MusicBrainz Object
(
)