Avatar billede Shasim Novice
13. september 2006 - 11:06 Der er 22 kommentarer og
1 løsning

xml og loadMovie

Kan nogen hjælpe mig med den rette måde at hente et billede fra en xml ind i et movieclip. Jeg har prøvet at gøre sådan:

minXML = new XML();
minXML.onLoad = function(ok) {
    //if(ok) trace(this); //udskriver xml'en
   
_root.how_pic.loadMovie(minXML.childNodes[0].childNodes[2].lastChild.lastChild.nodeValue);
   

trace(minXML.childNodes[0].childNodes[2].lastChild.lastChild.nodeName);

minXML.ignoreWhite = true;
minXML.load("http://www");

Det virker så ikke, men hvordan gør man så?
Avatar billede mat Nybegynder
13. september 2006 - 11:53 #1
Det der er ikke hele koden vel?
Avatar billede Shasim Novice
13. september 2006 - 11:55 #2
Øh... joeh :)
Avatar billede Shasim Novice
13. september 2006 - 12:34 #3
Hvis du stadig er der, så kan du måske svare på om det er fordi det ikke er en streng jeg får ind?
Selve xml-tag'et ser sådan ud: <parapicture>http://www.osv.</parapicture>

Kan det gøres nemmere ved at sætte en attribut på parapicture-noden?

Jeg skal kun kunne linke direkte ned til et billede.
Avatar billede mat Nybegynder
13. september 2006 - 12:38 #4
Jammen den kode der må da komme med en syntaksfejl? Hverken onLoad eller din betingelse er lukkede?
Avatar billede Shasim Novice
13. september 2006 - 12:47 #5
Undskyld, det har du selvfølgelig ret i - de er røget efter at jeg har slettet alle min forkvaklede forsøg på at løse problemet.

minXML = new XML();
minXML.onLoad = function(ok) {
    //if(ok) trace(this); //udskriver xml'en
}
}   
_root.how_pic.loadMovie(minXML.childNodes[0].childNodes[2].lastChild.lastChild.nodeValue);

Sådan?
   

trace(minXML.childNodes[0].childNodes[2].lastChild.lastChild.nodeName);

minXML.ignoreWhite = true;
minXML.load("http://www");
Avatar billede Shasim Novice
13. september 2006 - 12:48 #6
Sådan?
Avatar billede mat Nybegynder
13. september 2006 - 12:56 #7
Altså, du kan jo ikke tilgå nodes i dit xml dokument før det er loadet, det er derfor du laver en onLoad handler og en betingelse, der tjekker om loadingen var succesfuld. Derfor skal du parse ("oversætte") din xml i betingelsen;

if ( ok ) {
// find nodes og brug deres data


mvh mat
Avatar billede Shasim Novice
13. september 2006 - 13:00 #8
Jeg har da lige med succes kunnet hente tekst ud og stoppe det i et dynamisk tekstfelt på samme sted, men det er måske ikke det samme?
Jeg er virkelig glad for at du gider deltage i mit indlæg, men vil du ikke godt forklare lidt nærmere?
Avatar billede Shasim Novice
13. september 2006 - 13:05 #9
Nå okay du mener sådan:

minXML = new XML();
minXML.onLoad = function(ok) {
if(ok) trace(this); //udskriver xml'en
_root.how_pic.loadMovie(minXML.childNodes[0].childNodes[2].lastChild.lastChild.nodeValue);
trace(minXML.childNodes[0].childNodes[2].lastChild.lastChild.nodeName);
  }

minXML.ignoreWhite = true;
minXML.load("http://www");

Men det virker ikke alligevel - jeg får bare "Error opening URL" og en lokal sti.
Avatar billede mat Nybegynder
13. september 2006 - 13:06 #10
Umiddelbart vil jeg gætte på at du henter noget lokalt, og du så er heldig at det rent faktisk når at blive loadet inden du tilgår det - det vil jo give problemer over en langsommere forbindelse...men det er et gæt. Jeg vil til enhver tid parse min xml i en event handler, der sikrer at xml dokumentet er færdighentet.

Der er jo en grund til at XML.onLoad findes :)
Avatar billede mat Nybegynder
13. september 2006 - 13:09 #11
Error opening URL er fordi stien til xml dokumentet er forkert...og du mangler klammer ( {} ) omkring kroppen af din betingelse;

minXML = new XML();
minXML.ignoreWhite = true;
minXML.onLoad = function(ok) {
if(ok) {
trace(this); //udskriver xml'en
_root.how_pic.loadMovie(this.childNodes[0].childNodes[2].lastChild.lastChild.nodeValue);
trace(this.childNodes[0].childNodes[2].lastChild.lastChild.nodeName);
}
else {
trace("kunne ikke finde xml dokumentet");
}
}

minXML.load("http://www");
Avatar billede Shasim Novice
13. september 2006 - 13:15 #12
Okay...

Min egen trace viser url'en rigtigt nok med tags rundt om, og jeg får ikke din trace ud, så den finder det vel godt nok?
Avatar billede mat Nybegynder
13. september 2006 - 13:21 #13
Men du får stadig fejlmeddelelsen?
Avatar billede Shasim Novice
13. september 2006 - 13:25 #14
Ja - error opening url + "file:///F|/mappe/mappe/null"
Avatar billede mat Nybegynder
13. september 2006 - 13:34 #15
Men den skriver ikke "kunne ikke finde xml dokumentet"? Det lyder pænt sort...din adresse er absolut?
Avatar billede Shasim Novice
13. september 2006 - 13:38 #16
Ja
Avatar billede mat Nybegynder
13. september 2006 - 14:05 #17
Det giver ikke mening, hvordan ser din kode ud nu?
Avatar billede Shasim Novice
13. september 2006 - 14:08 #18
Hehe... nu virker det... forkert sti. Vil du lægge et svar, så får du points :)
Avatar billede mat Nybegynder
13. september 2006 - 14:14 #19
oki, hvad med det her; http://www.eksperten.dk/spm/731127 ?
Avatar billede Shasim Novice
13. september 2006 - 14:16 #20
Den skal jeg nok vende tilbage til - men det viste sig at det slet ikke var aktuelt alligevel i lige denne sammenhæng - træls når man har brugt tid på det...
Men jeg vil gerne lære noget om det, så jeg kommer snart tilbage på den.

Foreløbigt tak :)
Avatar billede mat Nybegynder
13. september 2006 - 14:31 #21
Det er helt ok, men så skal du ikke bebrejde mig hvis jeg overser den, når den forsvinder fra forsiden ;)
Avatar billede Shasim Novice
13. september 2006 - 14:41 #22
Nej da, hvis du ikke får mails når der sker noget, så er det da svært at holde øje med det, men så kan jeg måske lave et nyt indlæg...
Jeg håber at nå dertil i morgen.
Avatar billede mat Nybegynder
13. september 2006 - 14:49 #23
Jeg får ikke mails fra eksperten.
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