Avatar billede jakwag Nybegynder
03. september 2003 - 15:11 Der er 6 kommentarer og
1 løsning

hente oplysninger fra xml?

hej

Jeg ved at spørgsmålet er stillet en milion gange. Men jeg kan stadig ikke finde ud af det...

Jeg har en xml fil:

<?xml version="1.0" encoding="iso-8859-1"?>
<allnews>
  <headline>test hyhed nummer et</headline>
  <subheadline>Dette er en underoverskrift</subheadline>
  <appetizer>Dette er en apetit vækker</appetizer>
  <main>Dette er den lange brødtekst</main>
  <file>pictest1.jpg</file>
  </news>
</allnews>

og jeg har så et script:

news_xml = new XML();
news_xml.load("news/news.xml");
news_xml.onLoad = function(succes){
    if(succes){
        trace(this.childNodes[2].nodeValue);
    }else{
        trace("loading failed");
    }
}

Dette virker ikke. Hvordan skal jeg gøre det?
Jeg vil gerne have fat i min "subheadline".

: ) Jakob
Avatar billede jakwag Nybegynder
03. september 2003 - 15:12 #1
man kan ikke referere til navnene på en sibling vel? f.eks. "file"
Avatar billede barklund Nybegynder
03. september 2003 - 15:30 #2
Til det sidste: Nope.

Din XML er ikke wellformed - du mangler en <news> øverst.

Derudover tænker du ikke i nok noder:

I din onload er:

trace(this.firstChild.nodeName); // allnews
trace(this.firstChild.firstChild.nodeName); // news
trace(this.firstChild.firstChild.firstChild.nodeName); // headline
trace(this.firstChild.firstChild.childNodes[1].nodeName); // subheadline
trace(this.firstChild.firstChild.childNodes[1].firstChild.nodeName); // undefined
trace(this.firstChild.firstChild.childNodes[1].firstChild.nodeValue); // "Dette er en underoverskrift"

Er du lidt med? En tekstnode er et child til noden rundt om. Dette skyldes, at man kan:

<b>Hej<br />igen</b>

Så har <b>-tagget tre children: "hej", "<br />" og "igen".

/Barklund
Avatar billede jakwag Nybegynder
03. september 2003 - 15:51 #3
jeg har <news> med. : )

hvis jeg skriver:
trace(this.firstChild.nodeName);

Får jeg null.
Avatar billede barklund Nybegynder
03. september 2003 - 16:00 #4
Skyldes nok dit whitespace mellem noder:

news_xml.ignoreWhite = true;
Avatar billede jakwag Nybegynder
04. september 2003 - 11:13 #5
Got it : )

Tak for hjælpen. Kom med et svar.
Avatar billede barklund Nybegynder
04. september 2003 - 13:10 #6
k
Avatar billede barklund Nybegynder
08. september 2003 - 14:01 #7
Tark for points ;)
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