Avatar billede larsbaun Nybegynder
17. december 2002 - 23:00 Der er 5 kommentarer og
1 løsning

indlæs XML i flash

Hvordan henter jeg en xml fil der hedder 1menu.xml ind i flash og sætter den lig med en variabel der hedder xmlStr ?

Lige pt. hardcoder jeg variabel på følgende måde !

xmlStr = "<dropDown><dNum>6</dNum><dText><b>Køb af bil</b></dText><ddown><dID>1</dID><dText>Person vogne</dText><dLink>http://www.mail.yahoo.com</dLink></ddown></DROPDOWN>";

/Lars
Avatar billede barklund Nybegynder
17. december 2002 - 23:34 #1
xmlStr = new XML();
xmlStr.onLoad = function(success) {
    if (success) {
        // do stuff when loaded
    }
}
xmlStr.load("1menu.xml");

/Barklund :o)
Avatar billede larsbaun Nybegynder
18. december 2002 - 00:46 #2
Jeg smider 50 point mere i hvis du kan hjælpe med at få det til at virke !

hele mit script er som følgende :

var dDrop = new Array();
fscommand ("allowscale", "true");
// ====Object to Store XML STRING=============
function dropdown (id, text, url) {
    this.id = id;
    this.text = text;
    this.url = url;
}
// ====Converts XML String to Flash Objects===
function convertXML2Objects () {
//    xmlStr = "<dropDown><dNum>2</dNum><dText><b>Køb af kanon</b></dText><ddown><dID>1</dID><dText>Person vogne</dText><dLink>http://www.mail.yahoo.com</dLink></ddown><ddown><dID>2</dID><dText>Vare vogne</dText><dLink>http://www.flashkit.com</dLink></ddown></DROPDOWN>";

mvh. Lars

// ===== Her er din kode =====

xmlStr = new XML();
xmlStr.onLoad = function(success) {
  if (success) {
    // do stuff when loaded
      }
}
xmlStr.load("1menu.xml");


// ===== Slut for din kode ====

    doc = new XML(xmlStr);
    xmlDrop = doc.childNodes;
    xmlSubDrop = xmlDrop[0].childNodes;
    _level0.menu.menuHeader = xmlSubDrop[1].firstChild;
    _level0.menu.itemCount = parseInt(xmlSubDrop[0].firstChild);
    count = _level0.menu.itemCount+2;
    for (i=2; i<count; i++) {
        xmlDrops = xmlSubDrop[i].childNodes;
        id = dDrop.length;
        dDrop[id] = new dropdown(xmlDrops[0].firstChild, xmlDrops[1].firstChild, xmlDrops[2].firstChild);
        set ("_level0.menu.item"+dDrop.length+"Label", dDrop[id].text);
        set ("_level0.menu.item"+dDrop.length+"Url", dDrop[id].url);
    }
}
Avatar billede barklund Nybegynder
18. december 2002 - 01:09 #3
100 point er rigeligt:

var dDrop = new Array();
fscommand ("allowscale", "true");

function dropdown (id, text, url) {
    this.id = id;
    this.text = text;
    this.url = url;
}

function convertXML2Objects () {
    xmlDrop = this.childNodes;
    xmlSubDrop = xmlDrop[0].childNodes;
    _level0.menu.menuHeader = xmlSubDrop[1].firstChild;
    _level0.menu.itemCount = parseInt(xmlSubDrop[0].firstChild);
    count = _level0.menu.itemCount+2;
    for (i=2; i<count; i++) {
        xmlDrops = xmlSubDrop[i].childNodes;
        id = dDrop.length;
        dDrop[id] = new dropdown(xmlDrops[0].firstChild, xmlDrops[1].firstChild, xmlDrops[2].firstChild);
        set ("_level0.menu.item"+dDrop.length+"Label", dDrop[id].text);
        set ("_level0.menu.item"+dDrop.length+"Url", dDrop[id].url);
    }
}

xmlStr = new XML();
xmlStr.onLoad = convertXML2Objects;
xmlStr.load("1menu.xml");
Avatar billede barklund Nybegynder
18. december 2002 - 01:10 #4
Nåja... Hvis du selv vil bestemme, hvornår menuen skal genereres, så skal du bare gemme det der "load()" kald nederst til lidt senere...
Avatar billede larsbaun Nybegynder
18. december 2002 - 08:22 #5
Tusinde tak for hjælpen - det var lige det der skulle til !
TAK !

/lars
Avatar billede barklund Nybegynder
18. december 2002 - 08:58 #6
Tark for point...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester