Как бы вместо

Код:
<cat_1 name="Продукты">
<cat_2 name="Блюда">
<gift name="Суши">
<price>20</price>
<point>3</point>
</gift>
</cat_2>
<cat_2 name="Блюда">
<gift name="Плов">
<price>20</price>
<point>3</point>
</gift>
</cat_2>
</cat_1>
<cat_1 name="Продукты">
<cat_2 name="Алкоголь">
<gift name="Водка">
<price>20</price>
<point>3</point>
</gift>
</cat_2>
</cat_1>
Чтобы переделывало в

Код:
<cat_1 name="Продукты">
<cat_2 name="Блюда">
<gift name="Суши">
<price>20</price>
<point>3</point>
</gift>
<gift name="Плов">
<price>20</price>
<point>3</point>
</gift>
<cat_2 name="Алкоголь">
<gift name="Водка">
<price>20</price>
<point>3</point>
</gift>
</cat_2>
</cat_1>
Надо или на as3 или на php все ровно...
в конечном иторе я делаю XML2Object.. и это не айс, если одинаковые ветки повторяются- когда можно их сунуть под одну общую...