Вы уже получаете свою личную переменную myXML
с помощью метода .getXML()
.Это лучший способ представить инкапсулированные данные внешним классам.
Альтернативой может быть создание myXML
поля public
вместо private
, но с использованием методов доступа get / set, которые вы скрываетеваша фактическая реализация из внешнего мира.
[Edit]
Если ваш метод getXML()
возвращает значение null, это означает, что ваш обработчик событий (метод processXML
) еще не был вызван.
Проблема, по-видимому, в конструкторе VideoData:
public function videoData()
{
var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(new URLRequest("playlist.xml"));
myXMLLoader.addEventListener(Event.COMPLETE, processXML);
}
XML-файл, вероятно, загружается до , к которому вы присоедините обработчик события, и поэтомусобытие происходит прямо перед тем, как вы начнете его слушать.Попробуйте перевернуть его и посмотреть, работает ли он:
public function videoData()
{
var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.addEventListener(Event.COMPLETE, processXML); // moved up
myXMLLoader.load(new URLRequest("playlist.xml"));
}