?
Solved

XML Foreign Exchange rate inserted into ASP (VBScript)

Posted on 2004-08-26
5
Medium Priority
?
335 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 

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 2000 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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

I would like to start this tip/trick by saying Thank You, to all who said that this could not be done, as it forced me to make sure that it could be accomplished. :) To start, I want to make sure everyone understands the importance of utilizing p…
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…

800 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