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

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-01-2008, 02:22   #1 (permalink)
ki_
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 51
Reihenfolge von Nodes austauschen

Hallo,

ich hab mal wieder ein kleines Problem.

Und zwar möchte ich, das zwei Elemente in meiner XML getauscht werden.

Die XML sieht folgendermaßen aus:
HTML-Code:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<bilder>
<bild reihenfolge="1" bildName="Maria mit dem Kinde" bildBeschreibung="Dani und Ole als Maria mit dem Kinde" fileName="_MG_7774_klein.jpg" />
<bild reihenfolge="2" bildName="Strand-Ole" bildBeschreibung="Ole im Sommer am Strand" fileName="_MG_7781.jpg" />
<bild reihenfolge="3" bildName="Sommer-Ole" bildBeschreibung="Ole im feschen Sommer-Outfit" fileName="_MG_7786.jpg" />
</bilder>

Die AS-Funktion zum Tauschen der Bilder:
PHP-Code:
function bildHoch():Void {
    
idSollHoch imagesDg.getItemAt(imagesDg.selectedIndex).id;  
      
//imagesDg ist ein DataGrid, in welchem die Bilder angezeigt werden.
    
idSollRunter idSollHoch-1;
    
    var 
nodeSollHoch:XML bilderXml.firstChild.childNodes[idSollHoch-1];
    var 
nodeSollRunter:XMLNode bilderXml.firstChild.childNodes[idSollRunter-1];
    
    
//Attribut "reihenfolge" wird umgeschrieben:
    
nodeSollHoch.attributes.reihenfolge --;
    
nodeSollRunter.attributes.reihenfolge ++;
    
    
//Nodes werden getauscht:
    
bilderXml.insertBefore(bilderXml.nodeSollHochbilderXml.nodeSollRunter);

    
// bilderXml wird in imagesDg geschrieben
    
bilderXmlToImagesDg();
    
    
// bilderXml wird gespeichert    
    
bilderXmlSpeichern();
    

Also, das ID-Attribut scheint er mir so weit ordentlich umzuschreiben, allerdings tauscht er nicht die Reihenfolge innerhalb der XML (und dem DataGrid).

Ich denke, das liegt an dem folgenden Code-Schnipsel:
PHP-Code:
    //Nodes werden getauscht:
    
bilderXml.insertBefore(bilderXml.nodeSollHochbilderXml.nodeSollRunter); 
Weiß jemand, was da dran falsch ist?

Hier kann man sich das ganze live anschauen: (und wenn ihr wollt Bilder hochladen - max 4 MB)

http://flashgalerie.ki-online.net

Danke für Hilfe
ki_ ist offline   Mit Zitat antworten
Alt 09-01-2008, 11:50   #2 (permalink)
ki_
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 51
ich sollte mir echt mal angewöhnen, die Suche besser zu benutzen …

Hier hat jemand das Problem schon mal gelöst:
http://www.flashforum.de/forum/archi.../t-167270.html

Der Korrekte Code wäre also in meinem Fall:

PHP-Code:
function bildHoch():Void {
    
idSollHoch imagesDg.getItemAt(imagesDg.selectedIndex).id;
    
//imagesDg ist ein DataGrid, in welchem die Bilder angezeigt werden.
    
idSollRunter idSollHoch-1;
    
    var 
nodeSollHoch:XML bilderXml.firstChild.childNodes[idSollHoch-1];
    var 
nodeSollRunter:XMLNode bilderXml.firstChild.childNodes[idSollRunter-1];
    
    
//Attribut "reihenfolge" wird umgeschrieben:
    
nodeSollHoch.attributes.reihenfolge --;
    
nodeSollRunter.attributes.reihenfolge ++;

    
//zu verschiebender Node wird entnommen
    
nodeSollHoch.removeNode();
    
    
//Nodes werden getauscht:
    
bilderXml.firstChild.insertBefore(nodeSollHochnodeSollRunter);

    
// bilderXml wird in imagesDg geschrieben
    
bilderXmlToImagesDg();
    
    
// bilderXml wird gespeichert    
    
bilderXmlSpeichern();
    

ki_ 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:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele