XML Datei einlesen [Flash 10]
| Beiträge: 50 Wohnort: Hamburg Registriert: Feb 2010
| 01.02.2010, 16:27
Hallo zusammen,
ich habe mal wieder ein kleines Problem. Ich versuche gerade eine XML-Datei einzulesen und die Inhalte in Variablen zu speichern. Um das ganze überhaupt zu Begreifen, wollte ich ersmal mit einem ganz einfachen Beispiel starten.
Nehmen wir an ich habe folgende simple XML-Datei:
ActionScript:1 2 3 4 5 6 | <? xml version = "1.0" encoding = "UTF-8"?>
<person>
<firstName>Max</firstName>
<lastName>Mustermann</lastName>
</person>
|
Für den Einstieg dachte ich z.B. an eine WindowedApp, die nur aus einem Button besteht. Bei Klick auf den Button, soll z.B. in einer Alert-Meldung Vor- und Nachname stehen.
Kann mir da evtl. jemand helfen? Ich denke, wenn ich diesen Ansatz hätte, kann ich alles andere darauf aufbauen.
Hier noch n kleines Beispiel. Also der Teil der den Inhalt der Variable liest, fehlt natürlich noch.
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function onClick():void{
Alert.show("Hello, " + firstName.text + lastName);
}
]]>
</mx:Script>
<mx:Button label="press me" click="onClick()" />
</mx:WindowedApplication>
|
THX im Voraus | | | Beiträge: 77 Registriert: Mar 2006
| 01.02.2010, 18:13
hi
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
private var MyXML:XML = new XML();
private function einlesen():void
{
Personen_einlesen.send();
}
protected function Personen_einlesen_resultHandler(event:ResultEvent):void
{
MyXML = event.result as XML; //weißt die ausgelesene Datei deiner Variable zu sobald sie geladen ist
Alert.show(MyXML.toString(),"blabla"); //gibt die XML aus
}
]]>
</fx:Script>
<fx:Declarations>
<s:HTTPService id="Personen_einlesen"
url="data/Personen.xml"
result="Personen_einlesen_resultHandler(event)"
resultFormat="e4x"/>
</fx:Declarations>
<s:Button x="36" y="53" label="aulesen" click="einlesen()"/>
</s:WindowedApplication>
|
hier mal ein ansatz.... spicher die XML datei einfach unter "src/data" und pribiers einfach mal | Geändert von crackz@net am 01.02.10 um 20:26 Uhr | |
| | Beiträge: 50 Wohnort: Hamburg Registriert: Feb 2010
Themenautor/in
| 02.02.2010, 09:37
Moin moin,
erstmal vielen Dank. Wenn ich das ganze für Flex umschreibe, bekomme ich in der Zeile mit dem HTTPService Probleme... Hast du eine Idee woran das liegt? Am liebsten würde ich auf einen HTTP Service auch ganz verzichten... | | | Beiträge: 50 Wohnort: Hamburg Registriert: Feb 2010
Themenautor/in
| 02.02.2010, 10:13
Ah habs hinbekommen mit etwas Hilfe.
THX an alle!
Falls es jemand Quick & Dirty braucht...
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init(event)" >
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
[Bindable] private var textXML:XML = new XML();
private function xmlHttpServiceFault(evt:FaultEvent):void {
var title:String = evt.type + " (" + evt.fault.faultCode + ")";
var text:String = evt.fault.faultString;
Alert.show(text, "Fehler!");
}
private function httpServiceResult(evt:ResultEvent):void {
var xmlList:XML = XML(evt.result);
textXML = new XML(evt.result);
}
private function showXmlData():void {
Alert.show("Name: " + textXML.firstName + "\nVorname: " + textXML.lastName);
}
protected function init(event:FlexEvent):void {
text.send();
}
]]>
</mx:Script>
<mx:HTTPService id="text" url="data/myXML.xml" resultFormat="e4x" fault="xmlHttpServiceFault(event);" result="httpServiceResult(event)" />
<mx:Button label="Alert" click="showXmlData()" />
</mx:WindowedApplication>
|
| |
| Ähnliche Beiträge zum Thema | 13.09.2022 - Rennier |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News
Regeln & Bedingungen
|