2 Stimmen

Wie kann man mit Flex XML-Daten von einem Server lesen?

Ich glaube, der einfachste Weg, Daten von einem Server im XML-Format anzufordern, besteht darin, eine PHP/JSP/ASP.net-Seite zu haben, die tatsächlich XML auf der Grundlage von HTTP-GET-Parametern generiert, und diese Seite irgendwie aus Flex aufzurufen/zu laden.

Wie genau kann dies mit den Flex-Bibliotheksklassen erreicht werden?

2voto

Laura Punkte 266

Ich möchte noch hinzufügen, dass Sie auch Folgendes verwenden können mx:HTTPService . Wenn Sie das Attribut returnFormat angeben, erhalten Sie ein XML-Dokument und keinen einfachen Text:

<mx:HTTPService resultFormat="e4x" ..../> or <mx:HTTPService resultFormat="xml" .../>

1voto

MidnightGun Punkte 970

1voto

Raleigh Buckner Punkte 8303

Ich weiß, dass Sie es bereits gefunden haben, aber hier ist ein Beispielcode:

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");
}

Ich füge gerne die Option "allowCache" hinzu, da Flash/Flex solche Dinge nicht zwischenspeichern kann, wenn man es nicht will.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X