PDA

Просмотр полной версии : класс Xml и проблема


Betatester
12.07.2003, 16:14
Подскажите что я не так делаю? Вот код -
function XmlObj()
{
this.test=100;

this.ignoreWhite = true;
this.onLoad = Loaded;
}
XmlObj.prototype = new XML();

function Loaded()
{
trace("D"+this.firstChild.nodeName);
trace("H"+this.test);
trace("B"+this.getBytesLoaded());
}


var s = new XmlObj();
trace("TEST"+s.test);
s.load(host+"/test/data.xml");

Собственно хотел сделать класс, наследующийся от XML. Но почему-то собственно доступа к загруженному XML у меня нет.. т.е. вместо this.firstChild.nodeName пустота. хотя this.getBytesLoaded() показывает правильный размер файла и подобный код не из класса работает :(

Пушистик
12.07.2003, 23:37
мона попобробнее суть траблы....

Betatester
13.07.2003, 02:12
В первом сообщении есть код, в котором есть функция Loaded.
Эта функция вызыается после загрузки XML документа (по крайней мере мне бы так хотелось)
В функции есть строки
trace("D"+this.firstChild.nodeName);
trace("B"+this.getBytesLoaded());
А теперь внимание - вопрос :

Чему должно быть равно this.firstChild.nodeName ?
Почему у меня оно всегда равно пустой строке?
И почему тогда this.getBytesLoaded() возвращает размер xml файла?

Пушистик
13.07.2003, 14:09
попробуй так:

function XmlObj() {
this.test = 100;
this.ignoreWhite = true;
this.prototype.Loaded = function() {
this.onLoad = function(success) {
trace("D"+this.firstChild.nodeName);
trace("H"+this.test);
trace("B"+this.getBytesLoaded());
};
};
}
XmlObj.prototype = new XML();
var s = new XmlObj();
trace(s.Loaded());
trace("TEST"+s.test);
s.load(host+"/test/data.xml");

Betatester
14.07.2003, 01:06
Не работает.. В таком варианте вообще не работает - Loaded не вызывается :eek: (проверял добавлением trace в Loaded) На всякий случай - у меня flash mx. А у вас этот код работает?

Пушистик
15.07.2003, 15:31
млин....да пришли XML ...я так не могу:)

Betatester
15.07.2003, 17:20
В архиве хмл файл (хотя не работает на любом xml-файле) и исходник- пример. У меня это чудо выводит в трейс
SUCCESS!! // Это для "не класса"
ROOT NODE = data
XML loaded size = 122 of 122
SUCCESS!! // "класс"
ROOT NODE = // Пустота :(
XML loaded size = 122 of 122

Скорее всего я чего-то не учел в странном ООП AS и вместо this.firstChild.nodeName должно быть что-то другое. Но вот что???