Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-02-2006, 16:42   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 658
Dynamisch weitere XML Dateien per XML laden...

Hi Leute!

So, nachdem ich nach Lösung des Problems im Thread Wie macht amn das... :: XPath Api ::
meine XML-Daten geladen und dargestellt bekomme versuche ich nun noch eins draufzusetzen:

In der geladenen XML-Datei befinden sich Knoten namens "Tracklist", in denen die Namen weiterer XML-Dateien stehen. Diese Tracklist-XML-Dateien beinhalten weitere Daten, die ich gern auslesen und darstellen möchte.

PHP-Code:
<?xml version="1.0" encoding="UTF-8"?>

<trackliste artist="..." album="DJ-Kicks">
    <track number="01">...</track>
    <track number="02">...</track>
    <track number="03">...</track>
    <track number="04">...</track>
    <track number="05">...</track>
    <track number="06">...</track>
    <track number="07">...</track>
    <track number="08">...</track>
</trackliste>
Wie stelle ich es nun am klügsten an, dass nach dem entsprechenden Aufruf eines XML-Knotens die Tracklist-XML ausgelesen und dargestellt wird?

In meinem Array "artist_tracklist[i]" stehen alle Tracklisten drin. Nun müsste ich diese eigentlich nur an eine XML-Objekterzeugungsroutine übergeben, oder?
Oder müsste ich diese XML-Objekte vorher ausserhalb der Funktion angeben?
Ich weiß nicht so recht, wo, wie und wann ich diese Objekte erzeugen und auslesen kann...


PHP-Code:
function tracklist_ausgeben (tracklist_index) {

    
tracklist_show artist_tracklist[tracklist_index];
    var 
XMLObj_Tracklist:XML = new XML();// Neues XML-Objekt anlegen
    
XMLObj_Tracklist.ignoreWhite true;// whitespace in XML ignorieren (z.B. CRLF etc)
    
XMLObj_Tracklist.onLoad xmlonload;//onLoad-Handler zuweisen
    
XMLObj_Tracklist.load(tatracklist_show);
    
    var 
tracklist_artist = [];
    var 
tracklist_tracks = [];
    var 
artistname;
    
    var 
a_tracklist:Array = XPathAPI.selectNodeList(this.firstChild"/trackliste");
    var 
anzahl_tracks a_tracklist.length;
    var 
a_tracklist_tracks:Array = XPathAPI.selectNodeList(this.firstChild"/trackliste/track/");
    
//var artistname= a_kuenstler[i].attributes.artist;
    
    
for (j=0j<= anzahl_tracks 1j++) {
            
tracklist_tracks[j] = a_tracklist_tracks[j].nodeValue;
        }
        
    
//Ausgabe
    
    
for (a=0a<= anzahl_tracks 1a++) {
    
mov_tracklist.a.text tracklist_tracks[a];


Rein logisch gesehen: Funktioniert das obige Skript?

Danke für eure Hilfe!

Geändert von headkit (15-02-2006 um 16:43 Uhr)
headkit ist offline   Mit Zitat antworten
Alt 15-02-2006, 17:09   #2 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 658
habe jetzt wohl ein paar fehler ausgemerzt und die funktion in zwei aufgeteilt, funktioniert aber immer noch nicht.
PHP-Code:
function tracklist_einlesen (tracklist_index) {
    
tracklist_show artist_tracklist[tracklist_index];
    var 
XMLObj_Tracklist:XML = new XML();// Neues XML-Objekt anlegen
    
XMLObj_Tracklist.ignoreWhite true;// whitespace in XML ignorieren (z.B. CRLF etc)
    
XMLObj_Tracklist.onLoad tracklist_ausgeben;//onLoad-Handler zuweisen
    
XMLObj_Tracklist.load(tracklist_show);
    
trace ("lade Datei: " tracklist_show);
}
function 
tracklist_ausgeben (success) {
    
    if (
success) {
        var 
a_tracklist:Array = XPathAPI.selectNodeList(this.firstChild"/trackliste");
        var 
anzahl_tracks a_tracklist.length;
        
trace ("anzahl_tracks: "+anzahl_tracks);
        var 
a_tracklist_tracks:Array = XPathAPI.selectNodeList(this.firstChild"/trackliste/track/");
        
        
//var tracklist_artistname= a_kuenstler[i].attributes.artist;
        
        
for (j=0j<= anzahl_tracks 1j++) {
                
tracklist_tracks[j] = a_tracklist_tracks[j].nodeValue;
                
trace("Track "+(j+1)+": "+tracklist_tracks[j]);
        }
            
        
//Ausgabe
        
        
for (a=0a<= anzahl_tracks 1a++) {
            
a.text = (a+1)+ " "+tracklist_tracks[a];
            
trace("Ausgabe a: "+a);
        }
    }


die ausgabe ist
PHP-Code:
lade Dateitracklist_01_Artistname.xml
anzahl_tracks
1
Track 1
undefined
Ausgabe a

wobei in wirklichkeit 123 Tracks in der Liste stehen...

bleibe dran, freue mich aber über tips!
headkit ist offline   Mit Zitat antworten
Alt 15-02-2006, 17:40   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 658
so, fast fertig!
was noch nicht funktioniert, ist die Ausgabe...

PHP-Code:
function tracklist_einlesen (tracklist_index) {
    
tracklist_show artist_tracklist[tracklist_index];
    var 
XMLObj_Tracklist:XML = new XML();// Neues XML-Objekt anlegen
    
XMLObj_Tracklist.ignoreWhite true;// whitespace in XML ignorieren (z.B. CRLF etc)
    
XMLObj_Tracklist.onLoad tracklist_ausgeben;//onLoad-Handler zuweisen
    
XMLObj_Tracklist.load(tracklist_show);
    
trace ("lade Datei: " tracklist_show);
}
function 
tracklist_ausgeben (success) {
    
    if (
success) {
        var 
a_tracklist:Array = XPathAPI.selectNodeList(this.firstChild"/trackliste");
        var 
a_tracklist_tracks:Array = XPathAPI.selectNodeList(this.firstChild"/trackliste/track");
        var 
anzahl_tracks a_tracklist_tracks.length;
        
trace ("anzahl_tracks: "+anzahl_tracks);
        
//var tracklist_artistname= a_kuenstler[i].attributes.artist;
        
        
for (j=0j<= anzahl_tracks 1j++) {
                
tracklist_tracks[j] = a_tracklist_tracks[j].firstChild.nodeValue;
                
trace("Track "+(j+1)+" "+tracklist_tracks[j]);
                
trackname[j].text "Track "+(j+1)+" "+tracklist_tracks[j]; //AUSGABE
                
trace("Ausgabe: "+trackname[j].text);
        }    
    }


wie kann ich denn in der letzten schleife

PHP-Code:
for (j=0j<= anzahl_tracks 1j++) {
                
tracklist_tracks[j] = a_tracklist_tracks[j].firstChild.nodeValue;
                
trace("Track "+(j+1)+" "+tracklist_tracks[j]);
                
trackname[j].text "Track "+(j+1)+" "+tracklist_tracks[j]; //AUSGABE
                
trace("Ausgabe: "+trackname[j].text);
        } 
automatisch die textfelder füllen, die einzeln trackname1, trackname2.. heißen?
headkit ist offline   Mit Zitat antworten
Alt 16-02-2006, 14:02   #4 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 658
wen's interessiert, wie es weitergeht:
variablennamen in schleifen :: referenzierung in Flash
headkit 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 08:16 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele