SelectSingleNode返回值

时间:2015-02-13 02:49:35

标签: xml vb.net

我正在开展一个学校项目,我正在使用来自在线数据源的XML数据来创建一个小型的飞行前简报工具。该代码旨在能够搜索XML文档并获取各种数据(机场代码,风向/速度,可见性等)并显示数据。通过互联网搜索,我发现了一个相当简单的代码,应该有效。

Dim doc As XmlDocument = New XmlDocument()
    doc.Load("http://aviationweather.gov/adds/dataserver_current/httpparam?dataSource=metars&requesttype=retrieve&format=xml&hoursBeforeNow=1&mostRecentForEachStation=constraint&stationString=KDAB")
    Dim airportcode As String = doc.SelectSingleNode("//station_id").Value
    Label1.Text = airportcode

您可以猜到,标签的文字不会改变。我已经对此进行过研究,它与XML命名空间有关,但是对我来说理解起来有点太过分了。

提前感谢您的帮助。 -Michael

2 个答案:

答案 0 :(得分:1)

使用XDocument的其他可能性:

Dim doc As XDocument = XDocument.Load("http://aviationweather.gov/adds/dataserver_current/httpparam?dataSource=metars&requesttype=retrieve&format=xml&hoursBeforeNow=1&mostRecentForEachStation=constraint&stationString=KDAB")
Dim airportcode As String = doc...<station_id>.Value
Label1.Text = airportcode

答案 1 :(得分:0)

您选择的节点的内容位于子节点中。您需要添加firstchild

Dim airportcode As String = doc.SelectSingleNode("//station_id").FirstChild.Value