Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   XML.load() (http://www.flasher.ru/forum/showthread.php?t=88549)

ReN 25.11.2006 18:36

XML.load()
 
Смлтрю MXML ActionScript 2.0 Migration.
Написано: load() Method - Removed.

Поискал и наткнулся...

Код:

import flash.display.Sprite;
import flash.events.*;
import flash.net.*;

var fSet:XMLDocument = new XMLDocument();
fSet.ignoreWhite = true;

var loaderXML:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("f.xml");
loaderXML.addEventListener(Event.COMPLETE, completeXML);
try {
        loaderXML.load(request);
} catch (error:Error) {
        trace("Unable to load requested document.");
}

function completeXML(event:Event):void {
        fSet = loaderXML.data;
        trace(fSet)//выводит xml
}

Однако пишет что не может конвертнуть его "to flash.xml.XMLDocument".

Подскажите... плз.

etc 26.11.2006 00:19

Потому что loaderXML.data — String, а не XMLDocument.
Если хочется конвертировать, то можно написать fSet.parseXML(loaderXML.data);

ReN 26.11.2006 14:46

Да, я уже так и сделал. Спасибо...

ReN 28.11.2006 15:27

Вроде XMLDocument это XML из AS2.
Есть ли такой способ применительно к XML?

etc 28.11.2006 15:50

loaderXML.data as XML; можно event.target.data as XML;

ReN 28.11.2006 18:10

loaderXML.data as XML возвращает null. Как с этим бороться?

etc 28.11.2006 18:18

Рабочий пример из хелпа:
Код:

package {
    import flash.display.Sprite;
    import flash.errors.*;
    import flash.events.*;
    import flash.net.URLLoader;
    import flash.net.URLRequest;

    public class ExternalDocs extends Sprite {
        public function ExternalDocs() {
            var request:URLRequest = new URLRequest("http://www.[yourdomain].com/data.xml");
            var loader:URLLoader = new URLLoader();
            loader.addEventListener(Event.COMPLETE, completeHandler);
            try {
                loader.load(request);
            } catch (error:ArgumentError) {
                    trace("An ArgumentError has occurred.");
            } catch (error:SecurityError) {
                trace("A SecurityError has occurred.");
            }
        }
        private function completeHandler(event:Event):void {
            var dataXML:XML = XML(event.target.data);
            trace(dataXML.toXMLString());
        }
    }
}


ReN 28.11.2006 18:58

Спасибо. Тоже не работал, нашел небольшую ошибку в XML...


Часовой пояс GMT +4, время: 00:13.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.