Avatar billede mads.f Nybegynder
27. november 2003 - 20:57 Der er 11 kommentarer og
1 løsning

XML elementer i Flash

Et lille ?

Hvad skal div. ChildNodes hedde når man kalder dem i Flash?

Jeg har styr på at loade XML-filen, men mangler lige at binde data'en til nogen variabler i Flash.

Lad os sige at mit XML ser sådan ud:

<movie>
<scream>
  <year>1999<year>
  <rating>3 of 5<rating>
</scream>
</movie>

Hvordan binder jeg fx rating ril en variabel?
Avatar billede mads.f Nybegynder
27. november 2003 - 20:59 #1
Se lige bort fra at jeg glemte at slutte nogen tags af... :(
Avatar billede barklund Nybegynder
27. november 2003 - 21:50 #2
Således finder du rundt:

some_xml.firstChild.nodeName == "movie";
some_xml.firstChild.firstChild.nodeName == "scream";
some_xml.firstChild.firstChild.firstChild.nodeName == "year";
some_xml.firstChild.firstChild.childNodes[0].nodeName == "year";
some_xml.firstChild.firstChild.childNodes[1].nodeName == "rating";
some_xml.firstChild.firstChild.lastChild.nodeName == "rating";
some_xml.firstChild.firstChild.childNodes[1].firstChild.nodeValue == "3 of 5";

Håber du kan finde rundt nu ;)
Avatar billede mads.f Nybegynder
28. november 2003 - 14:30 #3
Hmmm... det spiller ik helt :/

Min kode er således:

LocationXml = new XML();
LocationXml.load("FlashContent.xml");
LocationXml.onLoad = ViewInfo;
function ViewInfo(success) {
if (success == true) {
    LocationXml.Location.egaa.name.nodeName == "test";
    }
}

Jeg har altså et heraki der hedder: Location > egaa > name, og jeg vil gerne ind og læse hvad der står i name.

Desuden... Hvordan læser man et parameter?

Tak for din hjælp :)
Avatar billede barklund Nybegynder
28. november 2003 - 14:41 #4
Jeg forstår ikke hvorfor du vil sammenligne det med "test" uden at bruge sammenligningen med noget.

Vil du opdatere i XML'en eller bare læse den?

Du kan ikke bruge XML'ens tag-navne - du er nødt til at bruge de forskellige child/parent/sibling referencer som vist:

function ViewInfo(success) {
    if (success == true) {
        trace(this.firstChild.nodeName); // giver yderste nodes navn
    }
}
Avatar billede mads.f Nybegynder
28. november 2003 - 14:55 #5
Okey...

Jeg har et dynamisk tekstfeldt som jeg vil læse fra XML'en... Det er det det handler om.

Jeg fatter ikk det med function ViewInfo(success) {
if (success == true) -om det overhovdet er nødvendig?

Hvad så når jeg har flere Childnodes (altså Siblings) - Hvordan skal jeg styre det? SecondChild fx, eller?
Avatar billede barklund Nybegynder
28. november 2003 - 16:22 #6
child nummer 2 kan du fange som:

some_xml.firstChild.nextSibling;
some_xml.childNodes[1];

Giver samme resultat...
Avatar billede barklund Nybegynder
28. november 2003 - 16:22 #7
Og man taster på success, for at se om xml'en er wellformed. Hvis den ikke er true, så er der sket en fejl.
Avatar billede mads.f Nybegynder
01. december 2003 - 08:43 #8
Hmm... Det er nok rigtig nok det du siger.
Kan dog ikke få det til at virke, men jeg må hellere oprette et nyt spørgsmål, da mit oprindelige spørgsmål vist ikke helt rækker...
Avatar billede barklund Nybegynder
01. december 2003 - 09:11 #9
XML er ikke så nemt igen - man skal lige kunne overskue det.

Der findes dog en lille wrapper-klasse, der konverterer til nogle lidt mere logiske objekter - eller rettere til en struktur hvor child's har de navne, som de tilhørende tags har.

Det ligger som en del af zip'en her: http://www.flashkit.com/movies/Scripting/XML/XML_to_O-Phil_Sco-4634/index.php (jeg tror det er den samme loadxml.as som jeg selv har brugt - ellers kan jeg lige uploade min version, hvis det ikke virker ;)

/Barklund
Avatar billede barklund Nybegynder
01. december 2003 - 09:11 #10
Og tark for points ;)
Avatar billede mads.f Nybegynder
02. december 2003 - 08:44 #11
Okay, tak. Jeg har fået det hele til at fungere :)
Avatar billede barklund Nybegynder
02. december 2003 - 10:38 #12
Tillyksen ;)
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