Solved

XML Foreign Exchange rate inserted into ASP (VBScript)

Posted on 2004-08-26
5
319 Views
Last Modified: 2010-08-05
Hi,

I'm having trouble getting to 2 values from a xml file which are located on a another server.  If I place the file locally I can get it to work fine.  Heres the code for it to work locally can someone please let me know how to retrieve the xml from http://www.ny.frb.org/markets/fxrates/FXtoXML.cfm?FEXdate=2004%2D08%2D25%2000%3A00%3A00&FEXtime=1200 so I can place it into the variables I want.


<%
Option Explicit

Response.Buffer = True

Dim xml

Set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false

xml.load (Server.MapPath("exchange.xml"))
dim euro, pound, exchange_rate
dim count, item

count = 0

for each item in xml.documentElement.childNodes
IF xml.selectSingleNode("RateList/Rate[" & count & "]/Country").text = "European Monetary Union" THEN
'euro = xml.documentElement.childNodes(count).text
euro = xml.selectSingleNode("RateList/Rate[" & count & "]/Value").text
END IF
IF xml.selectSingleNode("RateList/Rate[" & count & "]/Country").text = "United Kingdom" THEN
'euro = xml.documentElement.childNodes(count).text
pound = xml.selectSingleNode("RateList/Rate[" & count & "]/Value").text
END IF

count = count + 1
next

exchange_rate =  pound / euro

%>

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Show me Some XML</title>
</head>
      <body>
      <%
      response.write (euro & "<br>")
      response.write (pound & "<br>")
      response.write ("The exchange rate is " & exchange_rate & "<br>")
      %>
      </body>
</html>



I've tried using:

xml.Open "POST", "http://www.ny.frb.org/markets/fxrates/FXtoXML.cfm?FEXdate=2004%2D08%2D25%2000%3A00%3A00&FEXtime=1200", false
xml.Send ""
But I just can't get it to work.

Thanks
0
Comment
Question by:mwidd101
  • 3
  • 2
5 Comments
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 11909678
0
 

Author Comment

by:mwidd101
ID: 11910931
I've changed it to  

xml.Open "POST", "http://www.ny.frb.org/markets/fxrates/FXtoXML.cfm?FEXdate=2004%2D08%2D25%2000%3A00%3A00&FEXtime=1200", false
xml.Send ""

but got this error message:

Microsoft VBScript runtime (0x800A01B6)
Object doesn't support this property or method: 'Open'
0
 

Author Comment

by:mwidd101
ID: 11911583
Hi,

Thanks for the help acperkins but I've got it working now, I needed to have: Set xml = xml.ResponseXml

Here's the working code:

<%
Option Explicit

Response.Buffer = True

Dim xml

Set xml = Server.CreateObject("Microsoft.XMLHTTP")


xml.Open "GET", "http://www.ny.frb.org/markets/fxrates/FXtoXML.cfm?FEXdate=2004%2D08%2D26%2000%3A00%3A00&FEXtime=1200", false
xml.Send ""

Set xml = xml.ResponseXml

dim euro, pound, exchange_rate
dim count, item

count = 0

for each item in xml.documentElement.childNodes
IF xml.selectSingleNode("RateList/Rate[" & count & "]/Country").text = "European Monetary Union" THEN
'euro = xml.documentElement.childNodes(count).text
euro = xml.selectSingleNode("RateList/Rate[" & count & "]/Value").text
END IF
IF xml.selectSingleNode("RateList/Rate[" & count & "]/Country").text = "United Kingdom" THEN
'euro = xml.documentElement.childNodes(count).text
pound = xml.selectSingleNode("RateList/Rate[" & count & "]/Value").text
END IF

count = count + 1
next

exchange_rate =  pound / euro

%>

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Show me Some XML</title>
</head>
      <body>
      <%
      response.write (euro & "<br>")
      response.write (pound & "<br>")
      response.write ("The exchange rate is " & exchange_rate & "<br>")
      %>
      </body>
</html>

Cheers
0
 
LVL 75

Accepted Solution

by:
Anthony Perkins earned 500 total points
ID: 11913283
As I suggested previously, change:
xml.Open "GET", "http://www.ny.frb.org/markets/fxrates/FXtoXML.cfm?FEXdate=2004%2D08%2D26%2000%3A00%3A00&FEXtime=1200", false
xml.Send ""

To:
xml.Open "GET", "http://www.ny.frb.org/markets/fxrates/FXtoXML.cfm?FEXdate=2004%2D08%2D26%2000%3A00%3A00&FEXtime=1200", false
xml.Send

Unlike a POST, with a GET there is nothing to send (no payload).

0
 

Author Comment

by:mwidd101
ID: 11914227
Good point, cheers for pointing that out
0

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I recently decide that I needed a way to make my pages scream on the net.   While searching around how I can accomplish this I stumbled across a great article that stated "minimize the server requests." I got to thinking, hey, I use more than one…
Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question