VB6如何读取天气预报数据?高分

zmrok 2007-11-12 11:34:32
通过web读取天气预报的代码倒见得多,但如果通过VB来读取,怎么实现?请各位大大帮帮忙,分咱有的是.
...全文
721 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tong04 2007-11-20
  • 打赏
  • 举报
回复
如果软件是收费软件,这样作怕是不行吧
vbman2003 2007-11-16
  • 打赏
  • 举报
回复
下午抽时间试了下,那个直接获取图片的没成功,不过上面有个返回图片字节数组的服务,这个就可以了:

引用Microsoft Soap Type Library


Dim oSc As SoapClient
Dim oSc As New SoapClient
Dim buff() As Byte
Dim hFile As Integer

oSc.ClientProperty("ServerHTTPRequest") = True
oSc.mssoapinit ("http://www.webxml.com.cn/webservices/ChinaStockSmallImageWS.asmx?WSDL")
buff = oSc.getSmallImageByte("sh000001", 1)

hFile = FreeFile
Open App.Path & "\GP001.gif" For Binary Access Write As hFile
Put hFile, 1, buff
Close hFile

Picture1.Picture = LoadPicture(App.Path & "\GP001.gif")
Set oSc = Nothing

zmrok 2007-11-14
  • 打赏
  • 举报
回复
在http://www.webxml.com.cn上有关于股票走势web服务的实例,但就是没有明白如何调用.
vbman2003 2007-11-14
  • 打赏
  • 举报
回复
VB6下WEB服务图片问题没做过,有空研究下,最近没时间了
帮项吧
vbman2003 2007-11-13
  • 打赏
  • 举报
回复

读取这个XML:

Dim oXmlNode As IXMLDOMNode
Dim oXmlNodes As IXMLDOMNodeList
Set oXmlNodes = oXmlDoc.documentElement.selectNodes(".//string")
For Each oXmlNode In oXmlNodes
Debug.Print oXmlNode.Text
Next


你可以去 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx看看,对getWeatherbyCityName 这个服务有祥细的说明,它实际上是返回一个一维数组 String(22),共有23个元素
,比如string(1)城市,那么结合上面读取XML的代码,想直接取得城市可以:

dim city as string
city=oXmlNodes(1).Text
msgbox city



zmrok 2007-11-13
  • 打赏
  • 举报
回复
感谢楼上的大大,我取出的xml文件内容如下,但是怎么才能取出有用的信息,比如,我只想要:城市,日期,温度,风向,
-------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
- <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WebXml.com.cn/">
<string>广东</string>
<string>广州</string>
<string>59287</string>
<string>59287.jpg</string>
<string>2007-11-13 10:01:14</string>
<string>28℃ / 18℃</string>
<string>11月13日 晴</string>
<string>微风</string>
<string>0.gif</string>
<string>0.gif</string>
<string>今日天气实况:多云;18.3℃;风向/风力:东东北风1级;空气质量:中;紫外线强度:强</string>
<string>穿衣指数:天气较热,建议着短裙、短裤、短套装、T恤等夏季服装。年老体弱者宜着长袖衬衫和单裤。感冒指数:晨练指数:天气晴朗,空气清新,是您晨练的大好时机,建议不同年龄段的人们积极参加户外健身活动。交通指数:天气晴朗,路面干燥,交通气象条件良好,车辆可以正常行驶,是开车出门游玩观光的好天气。中暑指数:温度不高,其他各项气象条件适宜,中暑机率极低。公园指数:天气晴朗,万里无云,但风略小,选择合适的地点,还是较适宜放风筝的。防晒指数:属强紫外辐射天气,外出时应加强防护,建议涂擦SPF在15?20之间,PA++的防晒护肤品。旅行指数:晴天,温度略高,不过有微风的吹拂会消除些暑热,使您仍可以尽情领略大自然的无限风光,较适宜旅游。</string>
<string>28℃ / 19℃</string>
<string>11月14日 晴转多云</string>
<string>微风</string>
<string>0.gif</string>
<string>1.gif</string>
<string>28℃ / 19℃</string>
<string>11月15日 晴转多云</string>
<string>微风</string>
<string>0.gif</string>
<string>1.gif</string>
<string>广州是广东省的省会,是中国南方最大的海滨城市,广州位于东经113。17`,北纬23。8`,地处中国大陆南部,广东省南部,珠江三角洲北缘。广州临南海,邻近香港特别行政区,是中国通往世界的南大门,广州属丘陵地带。中国的第三大河----珠江从广州市中心穿流而过。广州是一座历史文化名城。相传在远古时候,曾有五位仙人,身穿五色彩服、骑着嘴衔稻穗的五色仙羊降临此地,把稻穗赠给百姓,祝愿这里永无饥荒。从此,广州便有“羊城”、“穗城”的美称,“五羊”也成为广州的象征。广州既是中国也是世界名城,又是一座古城,因历史上有五羊仙子降临献稻穗的故事,广州又称为“羊城”和“穗城”,简称“穗”;广州一年四季如春、繁花似锦,除夕迎春花市闻名海内外,故又有“花城”的美誉。广州地处低纬,属南亚热带季风气候区。地表接受太阳辐射量较多,同时受季风的影响,夏季海洋暖气流形成高温、高湿、多雨的气候;冬季北方大陆冷风形成低温、干燥、少雨的气候。年平均气温为21.4-21.9度,年降雨量平均为1623.6-1899.8mm,北部多于南部。 1982年,广州被国务院选定为全国首批历史文化名城之一,是我国重点旅游城市。1999年1月,广州被评为优秀旅游城市。景观:白云山、莲花山、南海神庙、佛山祖庙、广州动物园等。</string>
</ArrayOfString>
vbman2003 2007-11-13
  • 打赏
  • 举报
回复
直接调用WEB服务上的图片?这个问题没研究过,WEB服务实际上就是几个函数,用XML格式返回客户端的调用,如果WEB服务不支持图片下载,应该是不行的。
不过我提供的天气报告的WEB服务,上面有图片下载,你直接下载图片到本地,通过返回的信息调用就可以了
zmrok 2007-11-13
  • 打赏
  • 举报
回复
感谢各位,问题已解决.
但如果要取一个图片,如何返回,比如取沪市某支股票的走势图.下面是代码,我不知如何返回到我指定的image1中
Dim oHTTP As XMLHTTP
Dim oXmlDoc As DOMDocument

Dim strWebserviceURL As String, strRequest As String
Dim s As String

strWebserviceURL = "http://www.webxml.com.cn/ChinaStockSmallImageWS.asmx/getSmallImage? theStockCode=SH600550 &theImageType=2 HTTP/1.1"
Set oHTTP = New XMLHTTP
oHTTP.open "POST", strWebserviceURL, False
oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oHTTP.send (strRequest)
下面的代码不知怎么处理了,
vbman2003 2007-11-12
  • 打赏
  • 举报
回复
这个是VB6调用网上免费天气预报WEB服务的示例:

'引用 Microsoft XML, v6.0



Dim oHTTP As XMLHTTP
Dim oXmlDoc As DOMDocument
Dim strWebserviceURL As String, strRequest As String
Dim s As String

strWebserviceURL = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName"
strRequest = "theCityName=南京"

Set oHTTP = New XMLHTTP
oHTTP.Open "POST", strWebserviceURL, False
oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oHTTP.send (strRequest)
Set oXmlDoc = New DOMDocument
oXmlDoc.Load oHTTP.responseXML
'oXmlDoc.Save (App.Path & "\wh.xml")

Debug.Print oXmlDoc.Text
tianhuo_soft 2007-11-12
  • 打赏
  • 举报
回复
来晚了~! 大多数气象网站都会提供这样的接口,看看她们的说明~!

楼上已经回答的相当的全面了
  • 打赏
  • 举报
回复
到这来讨论吧

菜鸟学编程之C++/MFC: QQ群 41977413 C++/MFC编程开发技术,有问题讨论问题,无事适当吹水;一起讨论学习,习惯潜水者勿加

菜鸟学编程之C/C# : QQ群 41976716 C/C#编程开发技术,有问题讨论问题,无事适当吹水;一起讨论学习,习惯潜水者勿加

菜鸟学编程之VB/ VBA : QQ群 20772662 VB/ VBA编程开发技术群,有问题讨论问题,无事适当吹水;一起讨论学习,习惯潜水者勿加
Phenlit 2007-11-12
  • 打赏
  • 举报
回复

Dim xmlDoc As MSXML2.XMLHTTP

Private Sub Command1_Click()
Set xmlDoc = New MSXML2.XMLHTTP
xmlDoc.open "post", "http://php.weather.sina.com.cn/search.php?city=南京", False
xmlDoc.send
MsgBox xmlDoc.responseText
End Sub

'得到的HTML码xmlDoc.responseText,通过处理可以得所要的数据

7,788

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧