{lang: 'de'}
Flashhilfe.de - Flash Community

XML Datei einlesen [Flash 10]

 


AntwortenRegistrieren Seite1  

Mole23#1
Benutzerbild von Mole23
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
Schlagwörter: xml
crackz@net#2
Benutzerbild von crackz@net
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
Mole23#3
Benutzerbild von Mole23
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...
Mole23#4
Benutzerbild von Mole23
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>


AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2024 Sebastian Wichmann - Flashhilfe.de