Pages

2010年4月2日金曜日

unserialize()できねー

外部から取得したRDFファイルをキャッシュするために、serialize化してDBに保存。
取り出して、データがある事まで確認できたが、unserialize出来ない。

どうやら、
simplexml_load_file()で取得したXMLをserializeするとunserialize出来ないらしい。。
どういう事やねん。

しょうがないので、いろいろ調べた結果、object型をstring型に変更してserializeすればいいらしい。


function format( $xml )
{
    $result = array();
    // channel
    $result['channel']['title'] = (string)$xml->channel->title;
    $result['channel']['link']  = (string)$xml->channel->link;
    $result['channel']['description'] = (string)$xml->channel->description;
    // image
    $result['image']['title'] = (string)$xml->image->title;
    $result['image']['url']   = (string)$xml->image->url;
    $result['image']['link']  = (string)$xml->image->link;
    // item
    foreach( $xml->item as $item ) {
        $result['item'][] = array(
            'title'       => (string)$item->title,
            'link'        => (string)$item->link,
            'description' => (string)$item->description
            );
    }
    return $result;
}



こんな感じか。
あー疲れた。。

0 コメント: