所以我一直试图解析来自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
答案 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