我正在开发一个基于Web的应用程序,它将显示未来24小时的天气预报。我已经读取了包含所需数据的XML文件。然而,该文件中所有数据都以类似的标记形式存在,如下所示:
<response>
<hourly_forecast>
<forecast>
<temp>
<metric>DATA!</metric>
</temp>
</forecast>
<forecast>
<temp>
<metric>MORE DATA!</metric>
...
如您所见,我必须输入预测数据,遍历其子元素,找到数据,然后以某种方式返回到读取下一个预测及其数据的点,以此类推。目前,我正在使用XMLTextReader进行读取,并使用ReadStartElement和ReadToNextSibling方法浏览文件,但是使用这些方法无法返回文件中的上一级,只能向下和向内获取数据,因此为了读取下一个温度值,我不得不使用For循环使程序成功地进入下一个预测,但这会导致资源消耗过大,对天气API进行了过多调用,甚至出现超时错误。如果我将网站上的XML文件保存到计算机上的项目目录中,则可以正常运行并快速获取所有数据,但是一旦将此网站上传到服务器上,我将无法保存XML文件。
因此,我的问题是,如何从在线天气XML文件中提取所需的数据,并轻松快速地显示或保存到数据库中?
我正在使用.NET Framework 3.5中的ASP和VB进行开发。