Как читать данные XML с сервера, используя Flex? - PullRequest
2 голосов
/ 09 октября 2008

Я считаю, что самый простой способ запрашивать данные с сервера в формате XML - это иметь страницу PHP / JSP / ASP.net, которая фактически генерирует XML на основе параметров HTTP GET, и каким-то образом вызывать / загружать эту страницу из Flex.

Как именно этого можно достичь с помощью классов библиотеки Flex?

Ответы [ 3 ]

2 голосов
/ 09 октября 2008

Я хотел бы добавить, что вы также можете использовать mx: HTTPService . Если вы укажете атрибут returnFormat, вы получите XML-документ, а не простой текст:

<mx:HTTPService resultFormat="e4x" ..../> or <mx:HTTPService resultFormat="xml" .../>
1 голос
/ 09 октября 2008

Я знаю, что вы уже нашли его, но вот пример кода:

public var dataRequest:URLRequest;
public var dataLoader:URLLoader;
public var allowCache:Boolean;

dataLoader = new URLLoader();
dataLoader.addEventListener(Event.COMPLETE, onComplete);
dataLoader.addEventListener(ProgressEvent.PROGRESS, onProgress);
dataLoader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
dataLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
dataLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);

dataRequest = new URLRequest();
dataRequest.url = "xmlfilelocation.xml" + ((this.allowCache) ? "" : "?cachekiller=" + new Date().valueOf());

dataLoader.load(dataRequest);

public function onComplete(event:Event):void{
    trace("onComplete");
}
public function onProgress(event:ProgressEvent):void{
    trace("onProgress");
}
public function onIOError(event:IOErrorEvent):void{
    trace("onIOError");
}
public function onSecurityError(event:SecurityErrorEvent):void{
    trace("onSecurityError");
}
public function onHTTPStatus(event:HTTPStatusEvent):void{
    trace("onHTTPStatus");
}

Мне нравится добавлять "allowCache", потому что Flash / Flex ужасно разбирается в таких вещах, когда вы этого не хотите.

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