Avatar billede limes_planum Praktikant
08. maj 2007 - 14:12 Der er 4 kommentarer og
1 løsning

Simpel 'get' fra XML-baseret .as-fil

Kan jeg hente XML-data i to trin?

Dette er fra min .fla:
// "Den simple get"
import WSNLF;
var LF1:WSNLF;
trace("\t henter test_op = "+LF1.testop);
trace("\t henter Overskrift = "+LF1.headline);
trace("\t henter Link = "+LF1.link);

// NB.: Ved godt 'var LF1:WSNLF;'-stump er sikkert er messed up (usikker på den slags erkl.) \\

Dette er så fra min .as:

class WSNLF {
    // private instance variables
    private var __headline:String;
    private var __link:String;
    private var __testop:String;
    // constructor statement
    public function WSNLF(p_headline:String, p_link:String, p_testop:String) {
        this.__headline = p_headline;
        this.__link = p_link;
        this.__testop = p_testop;
    }
    public function get headline():String {
        this.__testop = "12"; //** 'Test-Out-Put' er opr. til fejlsøgn.
        var readXML = new XML();
        readXML.ignoreWhite = true;
        readXML.load("http://www.nba.com/aroundtheassociation/rss.xml");
        readXML.onLoad = function(success) {
            return this.__test_op; //** Denne burde blive eksekveret, men eksekveres ikke!
            this.__headline = readXML.firstChild.firstChild.firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.firstChild.nodeValue;
            return this.__headline; //** Denne burde blive eksekveret, men eksekveres ikke!
        };
        return this.__testop;//** Eksekveres til gengæld, men med fejl!
        return this.__headline; //** Eksekveres til gengæld!
    }
    public function get link():String {
        var readXML11 = new XML();
        readXML11.ignoreWhite = true;
        readXML11.load("http://www.nba.com/aroundtheassociation/rss.xml");
        readXML11.onLoad = function(success) {
            this.__link = readXML11.firstChild.firstChild.firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.firstChild.nextSibling.firstChild.nodeValue;
            return this.__link;
        };
        return this.__link;
    }
}

Læg mærke til linjerne med; //**
Disse indikerer at nogle 'Return'-kommandoer eksekveres for tidligt mod .fla'en. Det ku være lækkert om man kunne bremse disse.

NB.: XML-kodestumperne burde ikke være problemet.
Avatar billede kragekjaer Praktikant
08. maj 2007 - 14:32 #1
Du bruger "get" forkert, læs om getter setter metoder.
Kald din funktion getHeadline() ....ikke med mellemrum.
Desuden får du et scope-problem med nested funktioner....brug Delegate
Avatar billede barklund Nybegynder
08. maj 2007 - 15:17 #2
Flash er single-threaded og event-baseret - man kan ikke lave busy-wait! Så du kan ikke kalde en funktion, der så først returnerer når en fil er hentet. Lad det forblive callback-baseret (og hent kun din xml-fil én gang).

Om du bruger "get headline" eller "getHeadline" har intet med det at gøre - det er bare syntaktisk sukker :)

--
Morten Barklund
Avatar billede limes_planum Praktikant
08. maj 2007 - 17:46 #3
Ka være din delegate ka bruges kragekjær - vender tilbage om et par dage - har ik tid til at afprøve det før...
Afvist indtil videre grundet barklunds indlæg.
Avatar billede limes_planum Praktikant
11. maj 2007 - 19:49 #4
Ok - er stadig blank hvad angår scopes etc. Har dog en god fornemmelse hvad der henvises til, men har ikke lige tid til at gå i dybden med det begreb lige nu, så det må blive ved et enkelt forkølet forsøg med scope som desværre ikke virkede.
Det var ikke vigtigere end at jeg bare prøvede grænserne af for; '.as' kombineret med XML.

Så med mindre jeg skal give Barklund pointene, skal du give et mere konkret eksempel kragekjær - forstår dog til gengæld udemærket, hvis du ikke har tiden. :-)
Avatar billede limes_planum Praktikant
23. november 2007 - 19:55 #5
Lukker hermed grundet manglende slutsvar
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