Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-08-2005, 13:01   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Cologne
Beiträge: 20
dynamisches XML auslesen

Hallo, muss seit längerem mal wieder Actionscripten und blicks grad ned so, bin im Moment zu sehr aufm Haskell trip ^^

Ich lese aus einer XML datei dynamisch die childNodes aus nachdem ich die Anzahl gezähl habe. Das klappt, nur kann es vorkommen es einträge im xml baum gibt die nur eine leerzeile sind und keinen inhalt haben. diese wollte ich mit einer if abfrage dann einfach ausfiltern beim zusammensetzen der sammel variablen. Leider blick ich das nicht mit der Integration. Folgend nun der betroffene code:

ActionScript:
  1. // Wenn die XML Datei erfolgreich geladen werden konnte fahre fort
  2.    
  3.     if(success) {
  4.         myCount=myXML.firstChild.firstChild.childNodes.length; // Zählen der Links
  5.  
  6. // Schleife durchlaufen und alle Ergebnisse ins Array legen
  7.         for(i=0; i<myCount; i++) {
  8.             linkArr.push(myXML.firstChild.childNodes[0].childNodes[i].childNodes[0].childNodes[0]);
  9.             textArr.push(myXML.firstChild.childNodes[0].childNodes[i].childNodes[2].childNodes[0]);
  10.         }
  11.         tracer();
  12.     }
  13. }
  14.  
  15.  
  16. // XML Datei laden
  17. myXML.load("http://test.hopper.de/xml/stantonius/englisch/restaurant/gastronomie/aus_der_karte/");
  18.  
  19.  
  20. // Alle Links aufsteigend ausgeben
  21. tracer =function() {
  22.     for(i=0; i<myCount; i++) {
  23.                 mySammlung += (textArr[i] + " ");
  24.                 mySammlung += (+ linkArr[i] +"\r");
  25.  
  26.     }

Da ist auch mal direkt der Link zum xml file damit ihr euch ein besseres Bild machen könnt.

gruß
xxx-max ist offline   Mit Zitat antworten
Alt 18-08-2005, 16:53   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Leider hast du hier nicht beschrieben, ob du deine XML-Daten in einer onLoad-Funktion auswertest. Wenn das der Fall ist, solltest du die Variable myCount auch dem restlich Film bekanntgeben, sonst ist die in der tracer-Funktion undefined.

BTW: du solltest dir deine Variableninhalte über trace-Befehle im Testmodus mal anschauen, dann fallen viele Bugs sofort auf...
  Mit Zitat antworten
Alt 20-08-2005, 10:19   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Cologne
Beiträge: 20
Hallo!

ActionScript:
  1. // Erstellung des XML Arrays
  2. myXML = new XML();
  3. myXML.ignoreWhite = true;
  4. myXML.onLoad = function(success) {
  5.  
  6. // Wenn die XML Datei erfolgreich geladen werden konnte fahre fort
  7.    
  8.     if(success) {
  9.         myCount=myXML.firstChild.firstChild.childNodes.length; // Zählen der Links
  10.  

Ich weiss zwar nicht worauf du hinaus möchtest aber das script an sich funktioniert problemlos. Es geht ja um die Einträge mit "0" die ausfiltern möchte. Jemand dazu nen Vorschlag?

gruß
xxx-max ist offline   Mit Zitat antworten
Alt 20-08-2005, 11:20   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Ich weiss zwar nicht worauf du hinaus möchtest
Darauf:
ActionScript:
  1. myXML = new XML();
  2. myXML.ignoreWhite = true;
  3. myXML.onLoad = function(success) {
  4.     if(success) {
  5.         myCount = myXML.firstChild.childNodes.length;
  6.         //myCount=myXML.firstChild.firstChild.childNodes.length;
  7.         trace("myCount="+myCount);//gibt bspw. 1
  8.     }
  9. }
  10. trace("myCount außerhalb =" +myCount);//gibt undefined!!!
  11. myXML.load("mein.xml");

Außerhalb des XML-Objektes ist myCount natürlich nicht bekannt, du kannst also deine tracer-Funktion auch nur aus dem onLoad-Callback heraus aufrufen oder musst myCount der Hauptzeitleiste bekanntgeben. Dann aber ist myCount auch erst nach der onLoad-Funktion bekannt, d.h. dein Film müsste bspw. über einen onEnterFrame solange warten, bis die Variable ungleich undefined ist...

Geändert von agedoubleju (20-08-2005 um 11:23 Uhr)
  Mit Zitat antworten
Alt 20-08-2005, 11:50   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Ort: Cologne
Beiträge: 20
Hallo und danke für deine Antwort. Ich hatte mir überlegt einfach beim Zusammensetzen von mySammlung1 zu checken ob der nächste einzutragende wert gleich "0" ist, falls ja füge stattdessen "" ein an sonsten den normalen Inhalt. Das ganze muss nicht besonders effektiv sein - in bezug auf die Aufwandsberechnung...
gruß

Geändert von xxx-max (20-08-2005 um 12:13 Uhr)
xxx-max 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 06:12 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele