php:XMLファイルのデータを取得し、配列に変換する

phpXMLファイルのデータを取得し、配列に変換する方法を行いました。
あまり頻繁には使用しないと思うのでメモします。

今回は下記のphpの関数を使用しています。

simplexml_load_file()
simplexml_load_string()
get_object_vars()

XMLファイルのデータが下記のような場合

<?xml version="1.0" encoding="UTF-8"?>
<test>
    <title>raining</title>
    <link>http://raining.bear-life.com/</link>
    <description>日常で感じたこと、覚えたことの記録</description>
    <language>ja</language>
</test>

XMLファイルから配列に変換

simplexml_load_file()」関数を使用し、「test.xml」のデータを取得します

$object = simplexml_load_file('test.xml');

simplexml_load_file()」で取得した値はオブジェクトで取得されます。
取得した値は下記のようになります。

SimpleXMLElement Object
(
    [title] => raining
    [link] => http://raining.bear-life.com/
    [description] => 日常で感じたこと、覚えたことの記録
    [language] => ja
)

上記で取得した$objectを「get_object_vars()」関数を使用し、
配列に変換します。

$arr = get_object_vars($object);

get_object_vars()」で取得した値は下記のように配列で取得されます。

Array
(
    [title] => raining
    [link] => http://raining.bear-life.com/
    [description] => 日常で感じたこと、覚えたことの記録
    [language] => ja
)

XMLデータ文字列から配列に変換

simplexml_load_string()」関数を使用し、XMLデータ文字列をオブジェクトに変換します。

$str = '<?xml version="1.0" encoding="UTF-8"?>
<test>
<title>raining</title>
<link>http://raining.bear-life.com/</link>
<description>日常で感じたこと、覚えたことの記録</description>
<language>ja</language>
</test>';

$object = simplexml_load_string($str);

取得したオブジェクトを「get_object_vars()」関数を使用し、
配列に変換します。

$arr = get_object_vars($object);

get_object_vars()」で取得した値は下記のように配列で取得されます。

Array
(
    [title] => raining
    [link] => http://raining.bear-life.com/
    [description] => 日常で感じたこと、覚えたことの記録
    [language] => ja
)

※「get_object_vars()」で配列に変換できるのは1階層までしか変換できないみたいです。