Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Parse XML с неограниченной вложенностью (http://www.flasher.ru/forum/showthread.php?t=104299)

Double 24.11.2007 16:10

так xml - и есть объект.

udaaff 24.11.2007 16:14

Я немного не отом.. посмоти мой линк несколькими постами выше.

Double 24.11.2007 18:50

всё равно я не понимаю. а чем удобнее этот объект? что принципиально поменялось? обращаться к конкретному значению, как portfolio.websites.трам-пам-пам? а если завтра в xml появятся работы webradio? fla переписывать? смысл-то какой? нет, я правда не понимаю, чем xml плох...

udaaff 24.11.2007 21:59

Зачем нужно xml в объект перегонять и наоборот:
1. -- проще обратиться к какому то свойству
-- проще его изменить
Т.е., если тебе просто надо построить менюшку, на основе xml, преобразовывать xml в объект не надо, но если нужно обращаться к разным свойствам в разное время, и если их куча, то удобнее обращаться по именам.
2. можно сохранять сложные типы данных (в виде xml) и считывать их потом, тот же объект (если юзаешь mdm zinc, то без xml или sharedobject, тебе не обойтись, если захочешь объект сохранить, к примеру, теже настройки программы)

iNils 24.11.2007 22:19

Цитата:

Сообщение от udaaff
но если нужно обращаться к разным свойствам в разное время, и если их куча, то удобнее обращаться по именам.

У xml есть возможность обращения к любому ноду по его уникальному id.

kruasan 24.11.2007 23:17

Вспомнилась тема:
http://www.flasher.ru/forum/showthre...E5%E3%EE%ED%E8

Double 25.11.2007 20:36

блин, ну xml - это удобный способ описания древовидной структуры. если структура данных есть дерево, то кроме xml уже ничего не нужно. если сруктура данных не есть дерево, тогда и про xml нет смысла вспоминать.

Ведьмак 29.11.2007 15:16

спасибо всем )

Dove 01.08.2008 00:23

Есть еще вариантик отображения дерева XML
Код:

var menuXML:XML;
var menuItems:Array = new Array();
menuXML = new XML();
menuXML.ignoreWhite = true;
menuXML.onLoad = function() {
        menuIsLoaded(menuXML.firstChild,"|");
};

menuXML.load("data/menu.xml");

function menuIsLoaded(thMenuXML, idnt) {
        if (thMenuXML.hasChildNodes()) {
                idnt += "|\t";
                for (item in thMenuXML.childNodes) {
                        if (thMenuXML.childNodes[item].nodeValue !== null) {
                                trace(idnt+thMenuXML.childNodes[item].nodeValue);
                        }
                        menuIsLoaded(thMenuXML.childNodes[item],idnt);

                }
        }
}



Часовой пояс GMT +4, время: 11:48.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.