自分で作ったAPI(Rails)用のライブラリ(PEAR)+それを使ったサイト(CakePHP)を作ることになりました。

(とにかく最も幅広い環境でWordpress並みに簡単に動作することが目標です。CakePHP初めて使いますが、一番メジャーなんじゃないかとの判断。) (Wordpress並み=PHP4,5対応、ターミナル必要無し)

PHP4, 5両方対応でXMLをパースするには何がいいのかさっぱり分からなかったんでTwitterで聞いてみました。

Twitter / Masaki Komagata: PHP4, 5対応のXMLパーサって何があるのか誰か …

komagata PHP4, 5対応のXMLパーサって何があるのか誰かおしえて!

すると色々な人から回答が。

PEAR XML_Serializerの中にあるXML_UnserializerとCakePHPの中にあるXmlモジュール?が良いらしい!

CakePHPのやつの方が便利そうだけどライブラリ単体でも使える形にしたかったのでXML_Unserializerを使ってみました。

<?php
require_once 'XML/Unserializer.php';

$us = new XML_Unserializer(array(
    'parseAttributes' => true,
    'encoding'        => 'utf-8',
    'forceEnum'       => array('item')
));
$us->unserialize('foo.xml', true);
$struct = $us->getUnserializedData();
print_r($struct);

forceEnumってオプションは気付かないと罠ですなー。

何故か俺のTwitterのログから消えてるんですが、教えてくださった皆さんあざーす!(shin1×1, nekoya, p4life

こんなヘボイ投げかけに答えてくれるPHPの民はやさしいス。

Comments


Option