| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > помогите организовать рекурсию |
| Автор: flashaa 31.10.2007, 16:42 | ||||
Есть такой массив:
Необходимо сформировать фрагмент XML -документа вот такого вида:
Помогите. |
| Автор: Nchanged 1.11.2007, 16:44 | ||||||
Ну насколько я понял, тут все просто. Пробегаемся по циклу и делаем массив из хмл? |
| Автор: flashaa 5.11.2007, 12:33 | ||
Спасибо за ответ, задачка была решена. Но не все так просто - забыл упомянуть, что все элементы массива необязательны и их кол-во может быть любым. Например может быть вот так:
При этом узел <head name="Знакомства"> не должен быть создан. |
| Автор: Djinn 5.11.2007, 13:20 |
| Как вариант если не всё так просто то мог бы и код выложить... интересно всётаки... |
| Автор: flashaa 5.11.2007, 13:55 | ||
| Задача достаточно обширная... Занимаюсь ей уже довольно давно. Это сайт знакомств. В данном случае пример того, что я хочу есть на небезызвестном сайте loveplanet.ru Пользователь заполняет анкету. В анкете есть разделы. Например знакомства, типаж, интересы, и тп. Каждый такой раздел сам состоит из разделов. Например графа "семейное положение" состоит из большого кол-ва чекбоксов, все чекбоксы между собой независимы. В режиме редактирования отобразить анкету достаточно легко - просто выводим все разделы и все поля. А если у нас режим просмотра, то тогда надо выводить только ВЫДЕЛЕННЫЕ пользователем разделы. Сайт имеет шаблонизатор, работающий через XSLT. В скрипте я собираю XML-дерево с данными, дальше "скармливаю" это дерево XSLT-трансформатору, который и выдает мне HTML. Вот здесь и встала задача о том, чтобы получать различные XML из массивов. Разочаровываюсь в такой шаблонизации. Склонен перейти к простым PHP-шаблонам, чем по сути и является Smarty, только он имеет много надстроек, которые, имхо, не нужны. Но в данном проекте только так. Итак решение задачи этой темы. Cуть в том, что создается XML - фрагмент тупо в виде строки. Дальше этот фрагмент присоединяется к моему дереву. Формирование XML фрагмента в виде строки выполняет итеративная часть, преобразование этой строки в DOMDocument и просоединение к дереву выполняет интерфейсная часть. Итеративная часть кривая, но работает
|