我正在开展一个学校项目,我正在使用来自在线数据源的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
答案 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