![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Как можно зарегистрировать в своем классе MyClass функцию listName, которая возвращала бы nodeName документа?
Документ загружается в класс MyClass. Отдать массив childNodes экземпляру класса MyClass получается, а вот потом взять listName - нет nodeName у экземпляра класса MyClass при этом работает. Уже по всякому пробовал - как с extends XML, так и просто через var my_xml:XML в классе MyClass. |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 37
|
Код покажи...
А то не очень ясно... |
|
|||||
|
Кусок из класса:
class test extends XML { public function test() { super("<playlist><romantic><r></r></romantic><arabic></arabic></playlist>"); } public function get lists():Array { return this.firstChild.childNodes; } public function get listName():String { var s = this; return s.nodeName; } } var tt:test = new test(); var ar:Array = new Array(); ar = tt.lists; trace(ar[0].nodeName);// здесь без проблем все работает trace(tt.lists[0].listName);// здесь выводит как undefined |
|
|||||
|
tt.lists[0] не принадлежит классу test, геттер не работает..
можно так (не знаю тока зачем оно надо) class test extends XML { public function test() { super("<playlist><romantic><r></r></romantic><arabic></arabic></playlist>"); } public function get lists():Array { return this.firstChild.childNodes; } public function get listName():String { var a=[],x=this.lists; for(var i=0;i<x.length;i++) a.push(x[i].nodeName); return a; } } ///////// var tt:test = new test(); trace(tt.listName[0]);// romantic |
|
|||||
|
Как вариант подойдет конечно, но... Моя вина, не объяснил сути - надо создать пользовательское API для плейлиста... Плейлист хранится во внешнем xml документе (для простоты понимания выкинул и сделал описание внутри). Надо сделать функционал, чтобы например пользователь мог сделать вот так:
var pl:Playlist = new Playlist(); trace(pl.lists.length); // количесво сохраненных пользовательских листов trace(pl.lists[0].listName); // название плейлиста Причем важно, чтобы были и методы set и get. По сути listName - это повторение функционала nodeName, за тем исключением, что будет реализовано еще и сохранение в файл. Вариант с созданием просто документа xml внутри класса Playlist тоже я так понимаю результата на даст по части nodeName? Просто в принципе, можно реализовать через методы set и get? |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 37
|
а ignoreWhite=true ты установил?
|
|
|||||
|
да, установил...
тока это то тут причем? |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|