Просмотр полной версии : чтение xml из класса
alecsisk
03.04.2008, 18:02
Извините, кто-нибудь читал файл xml из класса? Никак не могу сделать... :( Если читали то подскажите пожалуйста как или поделитесь ссылкой. Просто гораздо интереснее написать 2 строчки кода и получить готовый массив из xml с помощью класса, чем написать 30 строчек которые будут мешаться.
Извиняем, читали. Из класса так-же читать, как и не из класса.
alecsisk
03.04.2008, 18:59
Это конечно хорошо что вы читали, но я попросил сказать как. Я пробывал записать в 'as file' функцию, потом вызывать её из swf, всё работает с #include. Но интересует вопрос чтения именно из класса, там код будет другим. Так что я не знаю как вы читали "из класса так же как не из класса"
Какой инклуд, о чем вы?
class LoadXML() {
public function LoadXML(url:String) {
var myXML:XML = new XML();
myXML.load(url);
myXML.onData = function(str:String) { trace(str) }
}
=======================
new LoadXML("myxml.xml");
alecsisk
03.04.2008, 19:28
Подредактировал class LoadXML {
public function LoadXML(url:String) {
var myXML:XML = new XML();
myXML.load(url);
myXML.ignoreWhite = true;
public var len_index:Number;
len_index = myXML.firstChild.childNodes.length;
trace(len_index);
}
}
Выдает public var len_index:Number - Attribute used outside class.Такая же проблема у меня. Навена какая-нить глупая ошибка :(
UPD: эту ошибку решил, обьявлять len_index надо вне фунции, теперь trace говорит undifined
Глобальные свойства нужно определять вне методов
Да и вместо public лучше писать private и ставить getter/setter.
UPD: эту ошибку решил, обьявлять len_index надо вне фунции, теперь trace говорит undifined
Ну правильно, ведь хмл еще не загрузился, а вы его уже трейсите.
надо так:
class LoadXML {
private var len_index:Number;
public function LoadXML(url:String) {
var myXML:XML = new XML();
myXML.load(url);
myXML.onLoad = function() {
this.ignoreWhite = true;
len_index = this.firstChild.childNodes.length;
trace(len_index);
}
}
}
alecsisk
03.04.2008, 21:10
Спасибо, думаю без вас бы не справился =). Только myXML.ignoreWhite = true нады поставить такpublic function LoadXML(url:String) {
var myXML:XML = new XML();
myXML.load(url);
myXML.ignoreWhite = true; иначе трэйсица 0.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.