XMLをパースしてArrayに

というソースコードを公開されていらっしゃるので
便乗しちゃっておきますw

http://php.atseason.com/?eid=620142

XMLのURLを突っ込めばArrayにしてくれるクラスです。

使い方はこんなかんじ

$xml_data = file_get_contents(‘XMLのURL’);
$xmlObj = new XmlToArray($xml_data);

$arrayData = $xmlObj->createArray(‘0′,’UTF-8’);

 print(“<pre>”);
 print_r($arrayData); //つらつらとArrayになったXMLデータ
 print(“</pre>”);

引数は
・XML_OPTION_CASE_FOLDING
・XMLソースのエンコード(UTF-8とか)
・XML_OPTION_SKIP_WHITE
・XML_OPTION_SKIP_TAGSTART
・呼び出し元ソースのエンコード

呼び出し元ソースのエンコードは
xml_parser_create()
で使うところなので、
ISO-8859-1、UTF-8、US-ASCIIしかサポートされていません。
まあブランクにしておけばEUCって自動判別してくれるはず。

CAKEでも・・

ちなみにこのクラス
ファイル名の Class. を消して「XmlToArray.php」 という名前にして
「/cake/vendors/」 に突っ込めば

vendor(‘XmlToArray’);

とすることで、cakePHPで使用可能です。

Leave a Reply