rille31Medlem sedan okt. 2004186 inlägg Sitter och filar på ett litet flash/xml CMS och har lite strul med funktionen insertBefore()
Vill kunna lägga till en nod antingen i början eller slutet av xml trädet men får det inte att funka :(
Jag kan lägga in noden i början innan min rotnod <images> men kan inte lägga in noden innan min första <image> nod.
<images>
<image thumb="carneruds.jpg" />
<image thumb="slides.jpg" />
<image thumb="hollywood.jpg" />
</images>
function createNode():Void {
var imageNode:XMLNode = myXML.firstChild.firstChild.cloneNode(true);
imageNode.attributes.thumb = currPath+filename_txt.text;
myXML.insertBefore(imageNode, myXML.firstChild.firstChild);
trace(myXML);
}
Det knepiga med XML-objektet är att den även räknar whitespace som taggar. Så myXML.firstChild.firstChild kan vara en radbrytning, ett mellanslag eller vilket/vilka tecken som nu råkar ligga mellan <images> och första img-taggen. Så testa att sätta myXML.ignoreWhite = true; innan du laddar in eller skapar XML-en.
Dessutom så måste anropa "insertBefore" metoden på den nod som du vill lägga till en ny nod på.
myXML[b].firstchild[/b].insertBefore(imageNode, myXML.firstChild.firstChild);
/Mirandir
rille31Medlem sedan okt. 2004186 inlägg Tack Mirandir
Löste det med
myXML.firstChild.insertBefore(imageNode, myXML.firstChild.firstChild);