Загрузка XML в Actionscript 3 - PullRequest
       4

Загрузка XML в Actionscript 3

1 голос
/ 02 апреля 2012

Я пытаюсь загрузить XML-файл со списком книг, я посмотрел вокруг и нашел эту функцию, попытался настроить ее на работу, но я не могу заставить это работать, я могу загрузитьXML и фактически читает информацию из него, но я пытался установить глобальный массив или что-то подобное, чтобы я мог получить доступ к данным позже,

, вот код:

var books:XML = loadBooks();
trace(books); //Returns a blank output

function loadBooks():XML {
    var xmlLoader:URLLoader = new URLLoader();
    var xmlData:XML = new XML();
    xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
    xmlLoader.load(new URLRequest("bookList.xml"));

    function LoadXML(e:Event):void {
    xmlData = new XML(e.target.data);
    trace(xmlData); //Returns what I want to have
    }

    return xmlData;
}

Iдобавлены комментарии к частям trace (), чтобы немного рассказать о том, что происходит Спасибо заранее.

Ответы [ 2 ]

1 голос
/ 02 апреля 2012

Первая трассировка не показывает, что вы хотите, потому что XML загружается асинхронно. Вот почему вы добавляете LoadXML в качестве прослушивателя для события «complete». Итак, что бы вы ни хотели сделать с загруженным XML, вы должны сделать это в функции LoadXML.

0 голосов
/ 02 апреля 2012

На начальном этапе вы пытаетесь отслеживать книги, загрузчик еще не завершил загрузку в ваш XML-файл - поэтому он ничего не будет отслеживать.Второй, однако, будет, потому что он связан с событием Complete и будет запущен только после того, как загрузчик завершит загрузку XML.Как и выше, все, что вы хотите сделать с вашим XML-файлом, должно быть помещено в функцию LoadXML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...