mytips.exblog.jp ブログトップ

XMLパース時のよくある問題。配列の数が1つの場合でも0のインデックスが付ける(forceEnum)
XMLをXML_Unserializerでパースすると(少し意味合いは違いますが)ニアンス的には下の配列イメージになります。

$result[0]['name'] = 'hoge';
$result[1]['name'] = 'fuga';

要素が、1つしかない場合には

$result['name'] = 'hoge';

と配列の0のインデックスになりません。

そんなときには、XML_Unserializerのオプションパラメータで下記のように設定し

$xml = [APIなんかでgetしたデータ]

$x = new XML_Unserializer();
$options = array(
'forceEnum' => array('name')
);
$x->setOptions($options);
$x->unserialize($xml);
$result = $us->getUnserializedData();


すると1件のデータも
$result[0]['name'] = 'hoge';
の状態にパースされる
[PR]
by sato025 | 2007-10-31 18:38
検索
タグ
カテゴリ
以前の記事
最新のコメント
最新のトラックバック
Tool
from adgj.net wiki ..
Googleウェブマスタ..
from i yahoo i.com:..
[Mac] NAV fo..
from あるネットワーク管理者(よっ..
ライフログ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧


var gaJsHost = (("https:" == doc ument.loc ation.protocol) ? "https://ssl." : "http://www.");doc ument.write(unesc ape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));var pageTracker = _gat._getTracker("UA-103429-5");pageTracker._trackPageview();