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

aikon 01.03.2006 12:06

Обращение к атрибутам XML
 
В AS1 было:
Код:

var i = 0;
var nod = xml_doc.firstChild;
        while (nod) {
                nod.attributes.ID = i++;
                nod = nod.NextNode();
                trace(nod.firstChild);
        }

В AS2 такое не работает, там должно быть что-то типа:
nod.attributes[attr], но выходит ошибка,почему?

aikon 01.03.2006 12:17

Ошибка-то не здесь
Код:

var nod = input_xml.firstChild;
        while (nod) {
                nod.attributes[ID] = i++;
                nod = nod.NextNode();
        }

Сорри...

Antares 01.03.2006 14:51

А что, у XMLNode есть метод NextNode?

aikon 01.03.2006 15:29

Это функция обхода дерева. Проблема с определение атрибутов в 7 плейере... Что можно в 6, в 7 нельзя...

KidsKilla 01.03.2006 15:58

ас2:

nod.attributes.id = i++;

aikon 01.03.2006 16:11

А как обратиться к определенной строчке xml? xml_ob..firstChild.childNodes[num]?

KidsKilla 01.03.2006 16:12

что значит "определенной строчке xml"?

aikon 01.03.2006 16:16

.input_xml.firstChild.childNodes[num].attributes.preview- обращение к аттрибуту preview определенной строки?

KidsKilla 01.03.2006 16:22

файл:
<input>
<item preview="1" />
<item preview="2" />
<item preview="3" />
<item preview="4" />
</input>

as:
input_xml.firstChild.childNodes[2].attributes.preview == "3"

aikon 01.03.2006 16:33

Вложений: 1
Тут исходник был фотоальбома, в 6 плеере пашет, в 7 нет, почему? Рекурсия не срабатывает.

KidsKilla 01.03.2006 16:49

не знаю.
копаться в исходниках не буду.
выдели место где что-то не работает и отпишись

aikon 01.03.2006 17:16

Если я правильно понимаю, то ошибка тут:
Код:

tmp.initLoading = function() {
        if (!this.checkNode()) {
                return;
        }
                this.pic.loadMovie(_root.input_xml.firstChild.childNodes[this.num+this._parent.begin].attributes.preview);
        this.onEnterFrame = this.checkIsLoaded;
};

Условие всегда ложно, а я пытаюсь загрузить превью...

aikon 01.03.2006 17:20

Я тут поэксперементировал, и вышло, что одна картинка грузиться, а врет сама загрузка:
Код:

tmp.checkIsLoaded = function() {
        if (this.pic.getBytesLoaded()/this.pic.getBytesTotal() == 1) {
                this._parent["p"+(this.num+1)].initLoading();
                delete this.num;
                this._xscale = this._yscale=1;
                this.onEnterFrame = this.animateIt;
        }
}

;

Exey 17.09.2006 18:37

Цитата:

Сообщение от aikon
Если я правильно понимаю, то ошибка тут...

Тоже перевожу Iv'овский Альбом на ActionScript 2.0...

Проблема в доставании из загруженного XML узлов, например:

Flash Player 6, AS1.0
Код:

tmp.checkNode = function() {
...
trace(_root.input_xml[this.num+this._parent.begin]);
...
}

получаем узлы, типа
<pic ID="1" ... />
<pic ID="2" ... />
...


А в Flash Player 8, AS2.0 — undefined

Как будет _root.input_xml[this.num+this._parent.begin] на AS2? Подскажите.

scourge ' kangaroo 18.09.2006 17:22

Код:

file = new XML();
file.load(xmlfile)
file.ignoreWhite        = true;
file.onLoad = function(success) {
xml = file.childNodes;
for( m = 0; m < xml.length; m++ ){
trace(xml[m].attributes.атрибут)
}

работает. сам юзаю регулярно.

etc 18.09.2006 17:30

Цитата:

Сообщение от Exey
А в Flash Player 8, AS2.0 — undefined

http://livedocs.macromedia.com/flash.../00002870.html


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

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