如何从XML站点读取数据并将其放在vb.net中的var中

时间:2014-02-24 22:56:40

标签: xml vb.net

我正在尝试在mij vb.net应用程序中加载天气数据。 它是xml格式,这是链接: http://api.openweathermap.org/data/2.5/weather?q=lille,BE&mode=xml

(以上链接将为您提供当前天气)

它看起来像这样:

  <?xml version="1.0" encoding="utf-8" ?> 
- <current>
 - <city id="2792360" name="Lille">
   <coord lon="4.82" lat="51.24" /> 
   <country>Belgium</country> 
   <sun rise="2014-02-24T06:34:47" set="2014-02-24T17:12:54" /> 
  </city>
  <temperature value="281.6" min="280.93" max="282.15" unit="kelvin" /> 
  <humidity value="65" unit="%" /> 
  <pressure value="1010" unit="hPa" /> 
  - <wind>
    <speed value="7.06" name="Moderate breeze" /> 
    <direction value="194.002" code="SSW" name="South-southwest" /> 
   </wind>
   <clouds value="36" name="scattered clouds" /> 
   <precipitation mode="no" />       
   <weather number="802" value="scattered clouds" icon="03n" /> 
   <lastupdate value="2014-02-24T21:38:58" /> 
 </current>

我想提取当前的温度,最低和最高温度。 湿度值和压力值 日出和日落,风速,风名,方向名称,天气价值。

所有这些不同的值必须写在全局变量中。

有没有人知道如何开始这项任务,我一直在尝试和搜索几周但没有任何作用。

我尝试的最后一件事是XmlTextReader,这是代码:

Dim reader As XmlTextReader = New XmlTextReader("http://api.openweathermap.org/data/2.5/weather?q=lille,BE&mode=xml")
    reader.ReadToFollowing("temperature")
    reader.MoveToFirstAttribute()
    Dim currenttemp As String = reader.Value
    Label1.Text = currenttemp
    reader.MoveToNextAttribute()
    Dim mintemp As String = reader.Value
    Label2.Text = mintemp

等等对于其他数据,所有变量标签都保持为空。 我怎么能解决这个问题

我也试过http://www.dotnetperls.com/xmlreader-vbnet的例子 但车道仍然是空的。 这是代码:

       ' Create an XmlReader
    Using reader As XmlReader = XmlReader.Create("http://api.openweathermap.org/data/2.5/weather?q=lille,BE&mode=xml")
        While reader.Read()
            ' Check for start elements.
            If reader.IsStartElement() Then
                ' See if perls element or article element.
                If reader.Name = "temperature" Then
                    ' Get attribute.
                    Dim attribute As String = reader("value")
                    If attribute IsNot Nothing Then
                        Label1.Text = attribute
                    End If
                End If
            End If
        End While
    End Using

所以,仍然没有进展。 有人有想法吗?

谢谢你们!

的问候, 凯文

0 个答案:

没有答案