Avatar billede kahs Nybegynder
09. marts 2005 - 12:28 Der er 7 kommentarer og
1 løsning

Visning af indhold fra XML-fil i HTML dokument

Hej Eksperter

Er det muligt at hente indhold fra en XML-fil og vise det i et HTML dokument kun ved brug af javascript?

- KAHS
Avatar billede verakso Nybegynder
09. marts 2005 - 12:45 #1
Afhægigt af hvilken browser der benyttes, er det ikke engang sikkert at du behøver javascript, men blot et stylestheet.

http://www.w3schools.com/xsl/xsl_transformation.asp
Avatar billede verakso Nybegynder
09. marts 2005 - 12:47 #2
Glemte lige, på samme site er der nogle andre eksempler på en transformation med javascript i klienten.
http://www.w3schools.com/xsl/xsl_client.asp

Stylesheet (XSLT) er imho det nemmeste at bruge, for at vise XML som HTML.
Man kan dog også plukke elementerne ud v.hj.a DOM og vise data på den måde.
Avatar billede kahs Nybegynder
09. marts 2005 - 12:57 #3
Det duer ikke... jeg kan ikke til tilføje noget til xml-dokumenetet og så vidt jeg kan se skal jeg tilføje et stylesheet til det!

...
Avatar billede kahs Nybegynder
09. marts 2005 - 13:07 #4
Javascript-måden er super... du skulle ikke vide hvordan jeg kan dele xml-dokumentet op efter tag? Lige nu smides at XML-indholdet (uden tags) ind på HTML-siden.
Avatar billede kahs Nybegynder
09. marts 2005 - 14:46 #5
... nå jeg er da kommet så langt at jeg kan hente data fra de enkelte xml-tags gennem childNodes.

- Stik mig et svar så du kan få point
Avatar billede verakso Nybegynder
09. marts 2005 - 18:17 #6
Det er nu ikke svært at lave et stylesheet og så knytte det til XML fil.

Hvis du kigger på eksemplet fra w3schools fra før.
http://www.w3schools.com/xsl/cdcatalog_with_xsl.xml
Kigger på kildekoden, så vil du se at der er tale om en almindelig XML fil der har knyttet et styleshet http://www.w3schools.com/xsl/cdcatalog.xsl simplethen ved at skive denne line i xml filen
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
Smid evt. en mail til verakso@gmail.com, hvis det er noget vi skal kigge mere på.
Avatar billede kahs Nybegynder
10. marts 2005 - 10:41 #7
Det er ikke fordi jeg kan få det til at virke med et stylesheet, men i mit tilfælde skal jeg trække data fra en XML-fil der er gjort mig tilgænglig fra en andet site.
Dvs. jeg har ikke mulighed for at tilføje noget til XML-dokumentetet.

- KAHS
Avatar billede kahs Nybegynder
29. marts 2005 - 09:15 #8
Jeg har fundet ud af hvordan jeg kan tilknytte et styelsheet til et XML -dokument uden at rette i selve xml_dokumentet:

Eks på xml-fil:
<?xml version="1.0" encoding="UTF-8"?>

<film>
<genre>
  <action>
  <title>Die hard</title>
  <min>160</min>
  </action>
  <action>
  <title>Die hard super hard</title>
  <min>165</min>
  </action>
  <action>
  <title>The rock</title>
  <min>185</min>
  </action>
  <triller>
  <title>Haanden paa vuggen</title>
  <min>160</min>
  </triller>
  <komedie>
  <title>Hund og mand imellem</title>
  <min>160</min>
  </komedie>
</genre>
</film>

Eks: på xsl-fil:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/">
  <html>
  <body>
    <h2>Film test</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th align="left">Title</th>
        <th align="left">Varighed i min.</th>
      </tr>
      <xsl:for-each select="film/genre/action">
      <tr>
        <td><xsl:value-of select="title" /></td>
        <td><xsl:value-of select="min" /></td>
      </tr>
      </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template></xsl:stylesheet>

Eks. på script som kobler xml-dokumentet og xsl-filen sammen:

<html>
<body><script type="text/javascript">
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("test.xml")

var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("test.xsl")

document.write(xml.transformNode(xsl))</script>

</body>
</html>

-KAHS
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
Kurser inden for grundlæggende programmering

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