Форум 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)
-   -   Xml: как прочитать данные из текстовых узлов? (http://www.flasher.ru/forum/showthread.php?t=67926)

kost@ 15.08.2005 16:48

Xml: как прочитать данные из текстовых узлов?
 
Вложений: 1
Запарился уже... никогда особо XML и не нужен был, а тут пристали... Новые вещи - новые запары: Нужно получить из файла menu.xml полную структуру меню: menuId, submenuId, visible, nodeValue для каждого пункта меню.
КАК?! Подскажите люди добрые...

Код:

/* мой menu.xml */
<MENU>
  <MENUITEM menuId="1" submenuId="0" visible="true" >Main</MENUITEM>
  <MENUITEM menuId="1" submenuId="1" visible="true" >News</MENUITEM>
  <MENUITEM menuId="1" submenuId="2" visible="false">Link</MENUITEM>
</MENU>

/* code для обработки menu.xml*/
// Загружаю меню из XML файла
myDoc = new XML();
myDoc.load("menu.xml");
myDoc.onLoad = function() {
  showNodes(this.firstChild);
}

// Разбираю XML файл
function showNodes (node){
// выведет, что есть дочерние узлы
trace(node.hasChildNodes())
// выведет 3 - текстовый узел, поэтому доступ к childNodes нетtrace("type ("+node.nodeType+")")
// Тогда как получить доступ к пунктам меню <MENUITEM >???
for (var child = node.childNodes.length; child; child--) {
trace(node.сhildNodes[child].nodeValue);
}
}


iNils 15.08.2005 16:57

Код:

System.useCodepage = true;
_root.tree2xml = function (xmlNode) {
        trace (xmlNode.nodeName);
        for (arg in xmlNode.attributes) {
                trace (arg +" = " +xmlNode.attributes[arg])
        }
        if (xmlNode.hasChildNodes () or xmlNode.childNodes.length != 0) {
                var j = 0;
                while (xmlNode.childNodes[j]) {
                        _root.tree2xml (xmlNode.childNodes[j++]);
                }
        }
};
xmlTree = new XML ();
xmlTree.ignoreWhite = true;
xmlTree.load ("_city.xml");
xmlTree.onLoad = function () {
        _root.tree2xml (xmlTree);
};



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

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