![]() |
|
||||||||||
|
|
|
|||||
|
День добрый, ситуация такова, есть список фильмов предствленный в виде XML (генерится пхп-скриптом и отдается флешу). Его структура такова:
папка - - фильм - фильм папка с фильмами - - фильм - фильм папка с фильмами - папка с фильмами - - фильм - фильм В общем пхп бегает по всем папкам что етсь и если находит там файлы нужного формата то записывает их. Степень вложенности может быть любой (используется рекурсия). Вопрос в том как сделать так что бы флеш отображал сначала только фильмы, а потом уже папки с другими фильмами (дабы несколько упорядочить это дело). Решил сначала пробегаться по хмлюе и проверять, если фильм — то добавляем, если нет то пропускам, когда фильмы кончаются опять пробегаюсь по хмл и на этот раз проверяю папки, если нод - папка, запускаю функцию еще раз, если не то пропускаю. НО проблема в том что папки второй вложенности и ниже не отображаются, почему то. Вот что я получаю в трейсе: Цитата:
///////////////-------------- Обходим ХМЛ ---------------//////////////// function sort(node) { var total_i:Number = node.length; for(var i:Number = 0; i < total_i; i++) // первый цикл - ищу фильмы { var nodes = node[i].childNodes; if (typeof (nodes[0]) == "undefined") // если нету вложенных файлов то считаю что это фильм { //trace(node[i].attributes.film); addElement(node[i].attributes.film, node[i].attributes.link, 12, 0x444444); } } for(var i:Number = 0; i < total_i; i++) // второй цикл, обхожу папки { var nodes = node[i].childNodes; // надо так, а не как ниже закоменчено if (typeof (nodes[0]) != "undefined") // елси етсь потомки то это папка { // var nodes = node[i].childNodes; addFolder(node[i].attributes.name, 16, 0x333333); trace(node[i].attributes.name); sort(nodes); // если папка то запускаю эту функцию в ней } if (node[i].attributes.name != undefined){ trace("end of " + node[i].attributes.name); } // тут мы отслеживаем конец какой то папки } } Последний раз редактировалось nOobCrafter; 08.05.2009 в 17:06. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|