parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Рекурсивное построение XML дерева

G_Z 13.07.2004 00:55 / 13.07.2004 01:01

Товарищи, помогите советом.
Что-то я вообще упёрся рогом...

Задача тривиальна:
имеем таблицу разделов сайта (загруженную из файла или из БД – не суть важно),
необходимо построить XML дерево, для последующего XSL преобразования.

Гипотетическая таблица разделов:

id parental_id uri name
1 0 products Продукты
2 1 monitors Мониторы
3 1 printers Принтеры
4 1 hdd Винчестеры
5 1 mice Мыши
6 1 else Прочее
7 0 support Поддержка
8 0 cooperation Сотрудничество
9 0 about О сайте
10 0 news Новости
11 10 archive Архив
12 11 new Новое в архиве

Гипотетический вид XML’я:
<tree>			
	<section id="1" parental_id="0" name="Продукты" url="products">		
		<section id="2" parental_id="1" name="Мониторы" url="products/monitors"/>	
		<section id="3" parental_id="1" name="Принтеры" url="products/printers"/>	
		<section id="4" parental_id="1" name="Винчестеры" url="products/hdd"/>	
		<section id="5" parental_id="1" name="Мыши" url="products/mice">	
		<section id="6" parental_id="1" name="Прочее" url="products/else">	
	</section>		
	<section id="7" parental_id="0" name="Поддержка" url="support">		
	<section id="8" parental_id="0" name="Сотрудничество" url="cooperation">		
	<section id="9" parental_id="0" name="О сайте" url="about"/>		
	<section id="10" parental_id="0" name="Новости" url="news">		
		<section id="11" parental_id="10" name="Архив" url="archive">	
			<section id="12" parental_id="11" name="Новое в архиве" url="new"/>
		</section>							
	</section>								
</tree>
Поиск покрутил, всё понятно описывается, однако, мысля упорно не идёт...
Упираюсь в уровни вложенности далее второго.