【发布时间】:2015-04-26 12:12:30
【问题描述】:
我有以下代码,它曾经完美地工作,但现在由于某些原因,没有。
我正在阅读的 XML 位于:https://forex.boi.org.il/currency.xml
以下代码应解析 XMl,然后保存 USD/ILS 汇率。正如我所说,它不再是了,我无法弄清楚是什么问题。
forexURL = "https://forex.boi.org.il/currency.xml"
getUSDRate = 0
MyRate = 0
Set xmlObj = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
xmlObj.async = False
xmlObj.setProperty "ServerHTTPRequest", True
xmlObj.Load(forexURL)
Set xmlList = xmlObj.getElementsByTagName("CURRENCY")
Set xmlObj = Nothing
x = 1
For Each xmlItem In xmlList
response.write "<p>" & xmlItem.childNodes(0).text
response.write "<p>" & xmlItem.childNodes(1).text
response.write "<p>" & xmlItem.childNodes(2).text
response.write "<p>" & xmlItem.childNodes(3).text
response.write "<p>" & xmlItem.childNodes(4).text
response.write "<p>" & xmlItem.childNodes(5).text
response.write "<p>___________________<br />" & x & "</p>"
if xmlItem.childNodes(2).text = "USD" then
MyRate = xmlItem.childNodes(4).text
exit for
end if
x = x +1
Next
Set xmlList = Nothing
【问题讨论】:
-
“不起作用”不是错误描述。您需要更好地分析问题。
-
我猜你是对的。这个循环
For Each xmlItem In xmlList不会事件执行一次。这意味着它找不到CURRENCY标签。但它就在那里 -
加载 XML 文档后不会进行任何错误检查。在尝试
load操作后,您应该检查theparseErrorproperty。
标签: vbscript asp-classic xml-parsing