Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-10-2008, 08:00   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2008
Beiträge: 15
Hierarchie in XML-Datei

Hallo,

bin beinahe am verzweifeln..

Meine XML:
Code:
<?xml-version="1.0"?>
<?xml-stylesheet type="text/xsl" href="Autoren.xsl"?>
<Personen>
  <Autor>
    <Vorname>Frank</Vorname>
    <Nachname>Mueller</Nachname>
  </Autor>
  <Autor>
    <Vorname>Stefan</Vorname>
    <Nachname>Maier</Nachname>
  </Autor>
  <Autor>
    <Vorname>Lutz</Vorname>
    <Nachname>Maier</Nachname>
  </Autor>
</Personen>

Mein AS2 Code
Code:
my_txt.text += revies_xml.firstChild.firstChild.childNodes + "\n\n";
Wie ist die Hierarchie aufgebaut?

Person ist das firstChild oder ? Ist Auto jetzt das erste Childnode? und wie rufe ich dann Vorname bzw. Nachname auf ?

Danke für eure Hilfe!

MfG

Lars
radiac ist offline   Mit Zitat antworten
Alt 28-10-2008, 09:02   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
der aufbau ist genauso, wie das XML aussieht.

lass dir alles per trace ausgeben

muster
Code:
...load (ok) {
trace("a) "+ this); // das muss das gane XML sein
trace("b) "+ this.firstChild);
trace("c) "+ this.firstChild.firstChild); // usw.
}
und mal den debugger benützen.

childNodes sind alle nodes als array, das kann man in einem for auswerten, oder direkt mit index childNodes[0]
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (28-10-2008 um 09:05 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 28-10-2008, 09:13   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2008
Beiträge: 15
Nunja, ich wollte erstmal das Prinzip verstehen, bevor ich mich dann an Schleifen mache.

mit

Code:
my_txt.text += reviews_xml.firstChild.firstChild.firstChild.childNodes[0] + "\n\n";
erhalte ich "Frank", was ja Sinn macht. Nehme ich allerdings:

Code:
my_txt.text += reviews_xml.firstChild.firstChild.firstChild[1].childNodes + "\n\n";
erhalte ich nicht den Nachnamen... das ist dass, was ich nicht verstehe.
radiac ist offline   Mit Zitat antworten
Alt 28-10-2008, 09:28   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
firstChild[1]
gibts schon mal garnicht. mal auf den type achten,
mal die beispiele aus der flash-hilfe ansehen und

schau dir mal sowas an:
http://www.seibsprogrammladen.de/fra...lgorithmen/XML
XML parsen


wenn das da der vorname ist, und wenn childNodes wie ein array ist, dann:

my_txt.text += reviews_xml.firstChild.firstChild.firstChild.child Nodes[0] + "\n\n"; // vorname
my_txt.text += reviews_xml.firstChild.firstChild.firstChild.child Nodes[1] + "\n\n"; // nachname
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (28-10-2008 um 09:30 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 28-10-2008, 09:50   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2008
Beiträge: 15
Ich hab mir mal die beiden Seite angeschaut, und das ganze nun vielleicht etwas besser durchdacht.

Mit
Code:
my_txt.text += datei.firstChild.childNodes[0].childNodes[0].childNodes[0].nodeValue;
Bekomme ich nun den Vornamen.

mit

Code:
my_txt.text += datei.firstChild.childNodes[0].childNodes[1].childNodes[0].nodeValue;
den Nachnamen.

Ist zwar etwas komplex, aber so geht es :-)

Danke!
radiac ist offline   Mit Zitat antworten
Alt 28-10-2008, 09:53   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
bzw.
var node = datei.firstChild.firstChild.childNodes;
for (i in node) {
my_txt.text += node[i].firstChild.nodeValue;
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib 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 23:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele