Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-11-2005, 10:33   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 25
XML Daten verarbeiten

Hallo zusammen,

Zuerst sei gesagt, ich bin ein Anfänger!
ich habe eine Sitzplatz liste mit 123 Sitzplätzen! Weiterhin hab ich eine XML Datei, in der Daten zu den Sitzplätzen enthalten sind, diese sieht in etwa so aus:

PHP-Code:

- <result>
- <
seat>
  <
e_plane>737</e_plane
  <
e_flightdate>20051026</e_flightdate
  <
e_time>110000</e_time
  <
e_seat>P_2</e_seat
  <
e_occupied>X</e_occupied
  </
seat>
- <
seat>
  <
e_plane>737</e_plane
  <
e_flightdate>20051026</e_flightdate
  <
e_time>110000</e_time
  <
e_seat>P_2</e_seat
  <
e_occupied></e_occupied
  </
seat>

[...]

  </
result
Für jeden Sitzplatz praktisch ein so ein Satz. Jetzt will ich, je nach dem Welche Daten aus der XML Datei kommen, den Sitzplatz in eine Farbe umwandeln (Ist ein Button, name "P_1, P_2, ...P_123"). Also wenn occupied=X, dann Farbe Rot, wenn leer, dann Farbe Grün!

Ich hab auch schon was gemacht im AS, undzwar
die Einlesung des XML Files:

PHP-Code:
_global.get_xml = function(parameters:String) {
    
i_xml = new XML();
    
i_xml.ignoreWhite true;
    
    
url _global.base_url "?OnInputProcessing(bla)&" parameters;
    
    
trace("-- Lade XML --");
    
i_xml.load(url);
        
    
i_xml.onLoad = function(ok) {
            
        
trace("-- XML geladen --");
        if (
ok) {
                
            
i_xml.parseXML(i_xml);
            
trace("XML:" i_xml);        
            
            
process_xml(i_xml);
        }
    }
    return 
i_xml;
}; 
und hier mein Verarbeitungsansatz:

PHP-Code:


// Parsen der XML-Datei
_global.process_xml1 = function(xmlfile:XMLprocess_location:String) {
    
trace("-- Start Process der XML-Datei. --");
    
    
xmlfile.ignoreWhite true;
    var 
nodename:String;
    var 
nodename_top:String;
    var 
nodevalue:String;

    var 
l_plane:String = new String();
    var 
l_flightdate:String = new String();
    var 
l_time:String = new String();
    var 
l_occupied:String = new String();
    

    for (var 
0i<xmlfile.childNodes.lengthi++) {
        for (var 
0j<xmlfile.childNodes[i].childNodes.lengthj++) {
            
            
nodename xmlfile.childNodes[i].childNodes[j].nodeName;
            
nodevalue xmlfile.childNodes[i].childNodes[j].firstChild.nodeValue;
                        
            if (
nodename == "e_plane") {
                
l_plane nodevalue;
            } 
            else if (
nodename == "e_flightdate") {
                
l_flightdate nodevalue;
            }
            else if (
nodename == "e_time") {
                
l_time nodevalue;
            }            
            else if (
nodename == "e_seat") {
                
l_seat nodevalue;
            }            
            else if (
nodename == "e_occupied") {
                
l_occupied nodevalue;
            }                
            
            
        }
    }

    
// Farbe der Buttons verändern, je nach dem
     // butten Namen: P_1 - P_123

        
}; 

Also in Kurzform nochmal, was mein Ziel ist:

Ich hab eine Sitzplatz Liste mit 123 Plätzen und einen einen Button für Daten holen. Sobald ich auf den Button latsche holt er sich eine XML Datei (das holen der XML ist nicht das Prob, das funzt) und färbt die Buttons je nach Inhalt der XML Datei Grün oder Rot! Irgendwie krieg ich das mit der Schleife nicht hin... wär ganz toll wenn mir jemand behilflich sein könnte!


Vielen Dank im Vorraus!
neroringer ist offline   Mit Zitat antworten
Alt 29-11-2005, 14:09   #2 (permalink)
Neuer User
 
Registriert seit: Sep 2005
Beiträge: 25
Hallo zusammen,
EDITED

ich bin ein wenig weitergekommen und habe mein richtiges Ergebnis in XML form im Speicher meiner Flashanwendung.
In meiner FLASH Anwendung hab ich 123 Buttons die Sitzplätze darstellen. Nun will ich die besetzten Sitzplätze ROT einfärben. Welche Sitzplätze besetzt sind, steht in meinem XML Speicher, der etwa so aussieht:
PHP-Code:
- <result>
- <
seat>
  <
e_plane>737</e_plane
  <
e_flightdate>20051026</e_flightdate
  <
e_time>110000</e_time
  <
e_seat>P_1</e_seat
  <
e_occupied /> 
  </
seat>
- <
seat>
  <
e_plane>737</e_plane
  <
e_flightdate>20051026</e_flightdate
  <
e_time>110000</e_time
  <
e_seat>P_4</e_seat
  <
e_occupied /> 
  </
seat>

usw.
  </
result
so stehen z.b. 50 Sätze im XML, weil 50 der 123 Plätze belegt sind! <e_seat>markiert hierbei den Sitzplatz. also in der Flashanwendung heissen meine 123 Buttons/sitzplätze von P_1 bis P_123.

Wie kann ich jetzt über das XML ergebnis loopen und ihm sagen dass er die buttons die dabei sind einfärbt??

Hilfe bitte!
neroringer ist offline   Mit Zitat antworten
Alt 29-11-2005, 15:14   #3 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Hi...
ich würde dir mal empfehlen, die einzelnen Infos als Values zu setzen und nicht als weiter Nodes

also wie folgt:

Code:
<seat plane="737" name="P1" time="110000" date="200511" status="occupied">
Dann kannst du die Daten gleich schön in ein Array schreiben.
Dann frägst du den Status ab und färbst den Button entsprechend ein.
Guck mal in der Flashhilfe nach "Color-Klasse" dürfte das sein, was dir hilft!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:53 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele