Форум 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=114562)

tetris 01.08.2008 23:42

голова опухла, тяжело ее носить. XML как ?
 
есть файл типа xml:

Код:

<gorod>
      <ace>
            <op>Вокзал</op>
            <swf>vokzal.swf</swf>
            <next>метрические параметры указателей</next>
            <music>masina.mp3</music>
      </ace>
      <ace>
            <op>Речка</op>
            <swf>most.swf</swf>
            <next>метрические параметры указателей</next>
            <music>rechka.mp3</music>
      </ace>
</gorod>


В код исходника добавляю:

Код:

streetXML = new XML();
myXML.ignoreWhite = true;
streetXML.onLoad = init;
streetXML.load("moy.xml");

Все прекрасно, ну а как вывести список <op> (в данном случии их два) в фрагмент ролика с именем "spisok" . Получиться список: "Вокзал" и ниже "речка" ,

MrPoma 02.08.2008 00:02

Код:

function init(){
        var nodes:Array = xml.firstChild.childNodes;
        for(var i:Number = 0; i < nodes.length; i++){
                var node:XML = nodes[i];
                trace(node.firstChild.firstChild)
        }
}


tetris 02.08.2008 08:11

получился такой код:

Код:

moyXML = new XML();
myXML.ignoreWhite = true;
streetXML.onLoad = init;
function init(){
        var nodes:Array = xml.firstChild.childNodes;
        for(var i:Number = 0; i < nodes.length; i++){
                var node:XML = nodes[i];
                trace(node.firstChild.firstChild)
        }
}
streetXML.load("street.xml");

Теперь по порядку

1 создается массив
2 игнорируются пробелы
3 если все хорошо выполняем функцию init
4 в функции юнит создается переменная "nodes:Array"
5 переберается массив и здесь непонятка

Код:

for(var i:Number = 0; i < nodes.length; i++){
                var node:XML = nodes[i];

зачем этот код, обьясни его . Ну нафига его перебирать ?
зачем создаем вторую переменную "var node:XML"

6) trace(node.firstChild.firstChild) - это строчка выводит на экран, как я понял значения из moy.xml

но код ничего не выводит ?

может чего напутал ? :(

Wolsh 02.08.2008 11:39

Цитата:

может чего напутал ?
Ага, имена всех XML перепутали. У Вас же три имени зачемто))))

Double 02.08.2008 12:31

Код:

streetXML = new XML();
streetXML.ignoreWhite = true;
streetXML.onLoad = function(scs) {
    if (!scs)
        trace("error")
    else
        traceXML();
}
traceXML = function() {
    for (aNode=streetXML.firstChild.firstChild; aNode!=null; aNode=aNode.nextSibling)
        trace(aNode.firstChild.firstChild.nodeValue);
}
streetXML.load("moy.xml");


etc 02.08.2008 19:03

Название темы не отражает сути вопроса.


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

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