XMLを処理

XMLで書かれているサイトマップをPHPで取得してページ化
表示されるカテゴリーの順番を設定する…


<?php
$sitemap = simpleXML_load_file("sutekidayo_rommy.xml");
$category = array("rommy","kuromi","nasuma","kurumi");
//表示したい順番にカテゴリ名称を配列に格納
$i = 0;
while($i=<4){
unset($mapdata);
foreach($sitemap->url as $mapdata){
$title = $mapdata->title;
$url = $mapdata->this_url;
$cat = $mapdata->category;
$com = $mapdata->comment;
if($cat == $category[$i]){echo $url . $title . $com;}
//処理対象のカテゴリが表示対象カテゴリと同じだったら中身を表示
}
$i++;
}
?>

かなり簡略化して書いた物だが、うーん、すっきりしない
ちなみにこんな面倒なことをやっているのは、ばらばらに置かれた
カテゴリのサイトマップを階層化して表示するため。
なので実際のコードは階層に従ってリンク付きで表示されるんだが…うーむ
コードが汚いってのは大概修正方法があるんだよなあ。

そしてこの方法では2階層までしか表示できない罠。
3階層目が派生した瞬間に、それはその直前にある
同一カテゴリの2層目項目の下要素に配置されるとゆーorz

コメントは受け付けていません。