Avatar billede lakana Nybegynder
29. juli 2006 - 17:04 Der er 2 kommentarer og
1 løsning

hjælp til henting af xml

hej jeg har en fil der hedder rooms.xml, hvordan får jeg hentet min node som hedder "roomname" og min anden node der hedder "background" ind i en listbox, således der vil stå ( som i HTML ):

<select>
<option value="background">roomname</option>
<option value="background">roomname</option>
</select>

???
Avatar billede mat Nybegynder
29. juli 2006 - 23:07 #1
Forholdsvis mangelfuld information der...

Ser din xml fil ud som den selectkode der? Bruger du et combobox component? Forudsat det så vil det se sådan ud;

m_xml = new XML();
m_xml.ignoreWhite = true;
m_xml.onLoad = function(s) {
    if (s) {
   
        root_element = this.firstChild;
        for (var i = 0; i < root_element.childNodes.length; i++) {
            combo_box.addItem(root_element.childNodes[i].firstChild.nodeValue, root_element.childNodes[i].attributes.value);
        }
       
    }
    else {
        trace("error loading xml");
    }
}
m_xml.load("roomname.xml");


..agtigt

Men du kan vel se princippet?

mvh mat
Avatar billede lakana Nybegynder
30. juli 2006 - 02:31 #2
nej nej nej...

mit xml dokument:


<?xml version="1.0" encoding="ISO-8859-1"?>
<standardRooms>

      <room id="1">
              <roomname>HET</roomname>
              <roommax>25</roommax>
              <background>het.gif</background>
              <takeThings>0</takeThings>
        </room>

      <room id="2">
              <roomname>Københavner stang</roomname>
              <roommax>25</roommax>
              <background>kbhbg.gif</background>
              <takeThings>1</takeThings>
        </room>

</standardRooms>


så skal den loade ind i flash, og indsætte følgende:

roomname og background som id

fx
listbox.addItem("HET",background.gif);

således hvis man trykker i mit list-box, så vil folk få "background.gif" frem
Avatar billede mat Nybegynder
30. juli 2006 - 09:38 #3
Nåeh, jammen det var jo smaddernemt at se at det så sådan ud?

Du kan få alle noder under en given node, ved at kalde node.childNodes, der returnerer et array af nodes, disse kan du naturligvis lave samme trick på. Så burde det være forholdvis ligetil at regne ud hvordan du itererer igennem dine rooms og deres informationer.

På din listbox skal du opsætte en event handler til brugerens input, jeg er sikker på at hjælpen i flash har en udemærket beskrivelse af hvordan det foregår. Så læser du bare datafeltets værdi og bruger det i din event handler til at udføre de  ønskede handlinger.

Leg med det, og vend tilbage når du går i stå.

mvh mat
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