Avatar billede larsny Nybegynder
07. februar 2005 - 11:42 Der er 2 kommentarer og
2 løsninger

hente variabler i xml-fil?

Jeg henter filen:
http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml
fra nationalbanken...

Mit spørgsmål er hvordan jeg henter de forskellige informationer ud og ligger dem i en variabel..?

F.eks. er der flere linier der minder om denne:
<currency code="EUR" desc="Euro" rate="744.35" />

Hvordan henter jeg "code","desc","rate" ud og ligger det i en variabel..? Se linket for at se hele xml filen.

På forhånd tak
Avatar billede mortency Nybegynder
07. februar 2005 - 11:47 #1
<%
Dim objXML
'create an instance of the MSXML parser
Set objXML = Server.CreateObject("microsoft.XMLDOM")
'load up or XML file , this is stored in the same directory as the script
'in this example
objXML.Load ("http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml")

If objXML.parseError.errorcode = 0 Then
  set n=objXML.selectNodes("exchangerates")

  Response.Write "<table>"
  for each node in n
    Response.Write "<tr>" 
    classStr = "<b>To:</b>" & node.text
    Response.Write "<td>" & navn & "</td><td>" & classStr & " </td><td>" & level & "</td>"
    Response.Write "</tr>"
  next
  Response.Write "</table>"
Else
  Response.Write ("There was an error")
End If
Set objXML = Nothing
%>
Avatar billede larsny Nybegynder
07. februar 2005 - 11:52 #2
der er fejl i koden...
Vil du ikke skrive det rigtigt?
Avatar billede mortency Nybegynder
07. februar 2005 - 11:59 #3
via xml

Lav en fil, du kalder 'valuta.xsl'. Copy/paste denne kode ind i dokumentet:

<?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>
    <table cellspacing="0" cellpadding="5" border="1">
      <tr bgcolor="#66ccff">
        <th align="left">Kode</th>
        <th align="left">Møntfod</th>
        <th align="right">Kurs</th> 
      </tr>
      <xsl:for-each select="exchangerates/dailyrates/currency">
      <tr>
        <td><xsl:value-of select="@code" /></td>
        <td><xsl:value-of select="@desc" /></td>
        <td align="right"><xsl:value-of select="@rate" /></td>
      </tr>
      </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

Lav endnu et dokument med denne kode:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Valuta Kurser</title>
<script type="text/JavaScript">
function getRates() {
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
    xmlDoc.async = false
    xmlDoc.load("http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml")
   
    var xslDoc = new ActiveXObject("Microsoft.XMLDOM")
    xslDoc.async = false
    xslDoc.load("valuta.xsl")
   
    document.write( xmlDoc.transformNode(xslDoc) );
}
</script>
</head>
<body>

<div>
    <script type="text/javascript">getRates()</script>
</div>

</body>
</html>
Avatar billede mortency Nybegynder
07. februar 2005 - 11:59 #4
Hvilken linje er det feil i?
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