Zurück   Flashforum > Flash und Server > Flash mit XML und Webservices

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-01-2008, 18:29   #1 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
Per Klasse verschiedene XML auslesen

Hallo liebe FF-Gemeinde,
habe mal wieder ein Problem bzw. benötige einen Ansatz zum Weiterarbeiten.

Ich würde gerne eine Klasse schreiben, der ich meine XML-Datei übergebe. Diese soll dann je nachdem, wie viele Ebenen es in der XML-Datei gibt, entsprechend viele Arrays erzeugen und die Inhalte darin ablegen. Das Problem ist, dass ich XMLs mit verschiedenen Verschachtelungen habe.

Wie kann ich das lösen?

Habe mir überlegt dass ich zunächst eine Methode schreibe, die die Tiefe der XML ausliest und diesen Wert dann der Methode übergebe, die die Arrays erzeugen soll.

Falls es jedoch eine wesentlich einfachere Lösung für das Problem gibt, wäre es nett von euch, diese mir mitzuteilen

Grüße Jan
__________________
MfG Jan

Meine 2 besten Freunde: Flash-Hilfe und die Foren-Suche =)
McMannus ist offline   Mit Zitat antworten
Alt 01-01-2008, 18:40   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Am einfachsten ist da eine rekursive Funktion. Diese bekommt einen XMLNode und das parent-Array übergeben. Das ist an sich keine große Sache.
Omega Psi ist offline   Mit Zitat antworten
Alt 01-01-2008, 18:57   #3 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
Mh was meinst du denn mit parent Array. Könntest du mir deine Version vielleicht an einem kleinen Beispiel erklären? Konnte mich bis jetzt mit Rekursionen leider noch nicht so anfreunden

Dankeschön schon mal.
__________________
MfG Jan

Meine 2 besten Freunde: Flash-Hilfe und die Foren-Suche =)
McMannus ist offline   Mit Zitat antworten
Alt 01-01-2008, 19:10   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
ActionScript:
  1. xml2Array(node:XMLNode, array:Array):void {
  2.   if (node.hasChildNodes()) {
  3.     for (var index:Number = 0; index<node.childNodes.length; index++) {
  4.       array[index] = new Array();
  5.       if (node.childNodes[index].hasChildNodes()) {
  6.         xml2Array(node.childNodes[index], array[index]);
  7.       }
  8.     }
  9.   }
  10. }
Konvertierung durch:
ActionScript:
  1. var parentXML:XML = new XML("<root><node /></root>");
  2. var parentArray:Array = new Array();
  3.  
  4. xml2Array(parentXML.firstChild, parentArray);
Das ist aber nur eine Konvertierung in entsprechende Array-Verschachtelungen - ungetestet also als Skizze anzusehen.

Richtig würde man es machen, wenn man die XML auf entsprechende Klassen mapped.
Omega Psi 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 04:07 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele