Avatar billede kometen79 Nybegynder
20. december 2005 - 11:27 Der er 5 kommentarer og
1 løsning

Reqest XML værdi

Hej,

Hvordan requester med en specifik værdi i en XML fil.

F.eks. Nationalbanken:
http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml

Her vil jeg kun have EUR og f.eks. KR. trukket ud.
Avatar billede softspot Forsker
20. december 2005 - 11:36 #1
Hvormeget kode har du? Hvis du har et XML-objekt (MSXML2.DOMDocument.4.0) oppe og køre, så kan du finde en hvilkensomhelst node i din struktur ved at kalde

doc.documentElement.selectSingleNode("//currency[@code='EUR']")

hvor doc er et DOMDocument-objekt som du opretter med server.createobject.
Avatar billede kometen79 Nybegynder
20. december 2005 - 12:01 #2
Jeg har følgende:

<%
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
Set objXMLDOM = Server.CreateObject("Microsoft.XMLDOM")
Call objXMLHTTP.Open("GET", "http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml", False)
objXMLHTTP.Send
Set objXMLDOM = objXMLHTTP.ResponseXML

If objXMLDOM.parseError.errorcode = 0 Then
  'Udskriver datoen for kurserne i filen
  set datoen = objXMLDOM.getElementsByTagName("dailyrates")
  Response.Write "Dato : " & datoen(0).getAttribute("id")
  Response.Write "<br>"

  'Udskriver valuta data her
  set n=objXMLDOM.getElementsByTagName("currency")
  Response.Write "<table>"
  Response.Write "<tr><td>Code</td><td>Beskrivelse</td><td>Rate</td></tr>"
  for each node in n
 

    Response.Write "<tr>" 
    Response.Write "<td>" & node.getAttribute("code") & "</td>"
    Response.Write "<td>" & node.getAttribute("desc") & "</td>"
    Response.Write "<td>" & Valutakurs & "</td>"
    Response.Write "</tr>"
  next
  Response.Write "</table>"
Else
  Response.Write ("There was an error")
End If


Set objXMLHTTP = Nothing
Set objXMLDOM = Nothing






%>

Hvordan kan jeg trække EUR ud her?
Avatar billede softspot Forsker
20. december 2005 - 13:47 #3
Jeg er lidt usikker på hvad du efterspørger for du har jo allerede noget kode der fungerer (såvidt jeg kan se), så det er bare at spørge efter currency med code="EUR". Jeg har formuleret din kode lidt anderledes herunder og der er lagt en lille passage ind som henter EUR-valutaen også:

<%@ language="vbscript" %>
<%
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
Call objXMLHTTP.Open("GET", "http://www.nationalbanken.dk/dndk/valuta.nsf/valuta.xml", False)
objXMLHTTP.Send
Set objXMLDOM = objXMLHTTP.ResponseXML

If objXMLDOM.parseError.errorcode = 0 Then
  'Udskriver datoen for kurserne i filen
  set datoen = objXMLDOM.selectSingleNode("//dailyrates")
  Response.Write "Dato : " & datoen.getAttribute("id")
  Response.Write "<br>"

  set eur = objXMLDOM.selectSingleNode("//currency[@code='EUR']")
  Response.Write "EUR : " & eur.getAttribute("rate")
  Response.Write "<br>"
 
  'Udskriver valuta data her
  set n=objXMLDOM.selectNodes("//dailyrates/currency")
  Response.Write "<table>"
  Response.Write "<tr><td>Code</td><td>Beskrivelse</td><td>Rate</td></tr>"
  for each node in n
    Response.Write "<tr>" 
    Response.Write "<td>" & node.getAttribute("code") & "</td>"
    Response.Write "<td>" & node.getAttribute("desc") & "</td>"
    Response.Write "<td>" & node.getAttribute("rate") & "</td>"
    Response.Write "</tr>"
  next
  Response.Write "</table>"
Else
  Response.Write ("There was an error")
End If

Set objXMLHTTP = Nothing
Set objXMLDOM = Nothing
%>
Avatar billede kometen79 Nybegynder
06. januar 2006 - 12:06 #4
Det er lige præcis det. Smid et svar
Avatar billede softspot Forsker
06. januar 2006 - 13:30 #5
Så gerne :)
Avatar billede softspot Forsker
23. februar 2006 - 17:03 #6
Tak for point :)
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