0017

SimpleXMLで@attributesのついた要素を取得する方法

SimpleXMLで@attributesのついた要素を取得する方法

2011.9.19

SimpleXMLを使ってXML取得→表示のプログラムを作っていてつまづいたのでメモ。

サンプルコード例

以下のコードを例にして説明します。
via.お天気Webサービス仕様 – Weather Hacks – livedoor 天気情報

["location"]=>
  object(SimpleXMLElement)#6 (1) {
    ["@attributes"]=>
    array(3) {
      ["area"]=>
      string(6) "東海"
      ["pref"]=>
      string(9) "静岡県"
      ["city"]=>
      string(6) "静岡"
    }
  }

たとえば、上記のprefを取得したい場合、

echo $xml->location->attributes()->pref;

というように、@の部分はattributes()とすればよい。