温度解析时出现VBScript错误

时间:2014-10-24 21:36:49

标签: vbscript xml-parsing

所以我一直试图解析来自weather.com的温度,并设法做到了,但现在我不知道试图将温度保存到文件(temperature.txt)。我觉得这应该可行,但它会返回错误:

Line: 11   Char: 1   Error: Type mismatch: 'Write'   Code: 800A000D

这是我的代码请帮助!!!

Dim nm, em, FSO, oFile

Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = false
xmlDoc.load("http://xml.weather.com/weather/local/USUT0225?cc=*&unit=farenheit&dayf=0")
Set temp = xmlDoc.selectsinglenode ("/weather/dayf/day/part/t")

Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFile = FSO.OpenTextFile("temperature.txt", 2, True)

oFile.Write(temp)
oFile.Close

Set oFile = Nothing
Set FSO = Nothing

2 个答案:

答案 0 :(得分:0)

Set temp = xmlDoc.selectsinglenode ("/weather/dayf/day/part/t")

将一个(节点)对象分配给temp(大变量名,btw)。 TextStream对象的.Write方法无法序列化对象,它只能写入字符串。那么。写入节点的XML内容:

oFile.Write temp.xml

(并放松那些()

答案 1 :(得分:0)

为了进一步解决问题,因为我遇到了节点问题,我尝试了类似这样的事情

Dim nm, em, FSO, oFile

Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = false
xmlDoc.load("http://xml.weather.com/weather/local/USUT0225?cc=*&unit=farenheit&dayf=0")
Set temp = xmlDoc.selectSingleNode ("/weather/cc/tmp")

Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFile = FSO.OpenTextFile("temperature.txt", 2, True)

oFile.Write(temp.text)
oFile.Close

Set oFile = Nothing
Set FSO = Nothing

在检查temp的类型时,它会一直返回Nothing。我通过链接查看了XML文件,我无法跟踪你在那里的"/weather/dayf/day/part/t"(可能是因为我在加拿大并且正在被重定向)。无论哪种方式,我都将您要查找的节点更新为"/weather/cc/tmp"并将.text输出到该文件。截止到目前为止,我的文本文件的内容为79