|
|
|||||
Из XML в массив
Ситуация
1. Есть генерируемый серверной страницей XML такого вида <ELEMENTS> <obj_1 Name='object1' param_1='1' param_2='2' ... param_j="j" /> <obj_2 Name='object2' param_1='1' param_2='2' ... param_j="j" /> . . . <obj_i Name='objecti' param_1='1' param_2='2' ... param_j="j" /> </ELEMENTS> xml_table.onLoad = function(success:Boolean){ var Nodes:XMLNode = xml_table; Nodes=Nodes.firstChild; for (var Node:XMLNode = Nodes.firstChild; Node != null; Node = Node.nextSibling) { ????????? } Как я могу сделать запись в массив my_array, не зная сколько элементов в одном узле?. Ведь метод здесь помоему не проходит. Как же быть? Последний раз редактировалось El Scream; 17.10.2006 в 13:42. |
|
|||||
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 El Scream:
А что сложного? childNodes - это массив... У массива ведь длину получить можно? Посмотрите тут: http://flasher.ru/forum/showthread.p...F1%EB%EE%E5%EC Я там писал загрузку простого XML'я...
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
Это не совсем то. Точнее то что я писал выше. Я не знаю сколько элементов не в XML, а сколько элементов внутри тега. Мне же нужно получить что то вроде
Беда в том, что я не знаю сколько парамов этих
__________________
Всем товарищ и друг |
|
|||||
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 El Scream:
Свойства attributes - тоже массив. ^_^
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
Мда. Согласен. Я впринципе уже собрался все это через for (all in ..) делать... но тут прило в голову просто решение. Итак Код будет выглядеть так.
System.useCodepage=true; var my_array=new Array; var xml_obj= new XML(); xml_obj.ignoreWhite = true; xml_obj.xmlDecl="xml version=1.0 encoding=UTF-8?"; xml_obj.load("file"); xml_obj.onLoad = function(success:Boolean){ var Nodes:XMLNode = xml_file; Nodes=Nodes.firstChild; // в зависимости по какой глубине XML идем for (var Node:XMLNode = Nodes.firstChild; Node != null; Node = Node.nextSibling) { my_array.push(Node.attributes); } // в дальнейшем если нам нужен вывод данных в табличном виде my_table.dataProvider =my_array; }
__________________
Всем товарищ и друг |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Цитата:
|
|
|||||
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 __etc:
Ага... Тогда ошибка в переведённом словаре AS... Хотя, всё равно используется как ассоциативный массив...
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
|
|
|||||
Квач
Регистрация: Sep 2006
Адрес: Украина, Киев
Сообщений: 1,526
|
2 __etc:
Да, спасибо. я знаю. После того вашего сообщения именно туда и пошёл смотреть. Потмо сравнил с Language Reference, которфй скачал с Флешера когда-то. Там написано: "my_xml.attributes:Array"... Ладно, не важно, я понял.
__________________
Да не нужно тебе читать документацию по Flash и AS от Adobe - ты слишком умён для этого |
Часовой пояс GMT +4, время: 18:00. |
|
« Предыдущая тема | Следующая тема » |
|
|