Просмотр полной версии : Обращение к атрибутам 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], но выходит ошибка,почему?
Ошибка-то не здесь var nod = input_xml.firstChild;
while (nod) {
nod.attributes[ID] = i++;
nod = nod.NextNode();
} Сорри...
А что, у XMLNode есть метод NextNode?
Это функция обхода дерева. Проблема с определение атрибутов в 7 плейере... Что можно в 6, в 7 нельзя...
KidsKilla
01.03.2006, 15:58
ас2:
nod.attributes.id = i++;
А как обратиться к определенной строчке xml? xml_ob..firstChild.childNodes[num]?
KidsKilla
01.03.2006, 16:12
что значит "определенной строчке xml"?
.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"
Тут исходник был фотоальбома, в 6 плеере пашет, в 7 нет, почему? Рекурсия не срабатывает.
KidsKilla
01.03.2006, 16:49
не знаю.
копаться в исходниках не буду.
выдели место где что-то не работает и отпишись
Если я правильно понимаю, то ошибка тут:
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;
};
Условие всегда ложно, а я пытаюсь загрузить превью...
Я тут поэксперементировал, и вышло, что одна картинка грузиться, а врет сама загрузка:
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;
}
};
Если я правильно понимаю, то ошибка тут...
Тоже перевожу 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.атрибут)
}
работает. сам юзаю регулярно.
А в Flash Player 8, AS2.0 — undefined
http://livedocs.macromedia.com/flash/8/main/00002870.html
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.