05. august 2004 - 11:50Der er
11 kommentarer og 1 løsning
Var fra xml til flash
Jeg kan ikke finde ud af hvordan jeg sætter en var. navn fra en xml fil, kan kun sætte værdi.
------------------------------------ var external_xml:XML = new XML(); external_xml.ignoreWhite = true; external_xml.load("test.xml"); external_xml.onLoad = function(success:Boolean) { if (success) { trace("xml loaded successfully."); trace(external_xml); trace("number of children:"+this.firstChild.childNodes.length); for (var i = 0; i<this.firstChild.childNodes.length; i++) { var thisNode:XMLNode = this.firstChild.childNodes[i]; trace(thisNode.nodeName+"="+thisNode.attributes.value); /denne virker i output thisNode.nodeName = thisNode.attributes.value; /hvordan for jeg denne til at virke? } } else { trace("xml failed to load."); } };
Nej, ikke helt, jeg har et textfield som holder variable "name" nu vil jeg hvade min xml til at lave den og værdien.
name = "pia" trace(thisNode.nodeName+"="+thisNode.attributes.value); det viser denne i output rigitg nok... thisNode.nodeName = thisNode.attributes.value; det virker jo ikke? hvordan så?
jeg tror ikke man kan det jeg vil, variable har et navn og en værdi "navn = værdi" og man kan vel ikke tage og lave både navn og værdi på en ny variable fra xml???
Det hele er kun test kode, men det som jeg godt vil er at swf/flash ikke skal vide på forhånd hvor mange navn der er, det vil sige at den lave variable efter jo flere name der er. hvis du kigge i output for denne kode, sådan vil jeg også havde den til at gøre rigtig
var users_xml:XML = new XML(); users_xml.parseXML('<user><name1 value="pia" /><name2 value="han" /><name3 value="per" /></user>'); for (var i = 0; i<users_xml.firstChild.childNodes.length; i++) { var thisNode:XMLNode = users_xml.firstChild.childNodes[i]; trace(+thisNode.nodeName+"="+thisNode.attributes.value); }
Jeg forstår bare ikke dit problem når nu du du kender længden og kan trace de rigtige værdier. Er det fordi du vil have name1, name2 over i variabler og ditto med værdien?
var nodeNavn[i] = new Array; var nodeVaerdi[i] = new Array; var external_xml:XML = new XML(); external_xml.ignoreWhite = true; external_xml.load("test.xml"); external_xml.onLoad = function(success:Boolean) { if (success) { trace("xml loaded successfully."); trace(external_xml); trace("number of children:"+this.firstChild.childNodes.length); for (var i = 0; i<this.firstChild.childNodes.length; i++) { var thisNode:XMLNode = this.firstChild.childNodes[i]; nodeNavn[i] = thisNode.nodeName; nodeVaerdi[i] = thisNode.attributes.value; } } else { trace("xml failed to load."); } };
Det er ikke dig som ikke er klog, men mig som ikke kan forklare mig.... men jeg kan faktisk komme ude om det med et array på den måde du har lave det, så super... smid et svar :-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.