属性(attribute)の取得

ここでは、XMLから属性(attribute)を取得する方法を見てみます。

サンプルとしてlivedoorのお天気情報サービス(Livedoor Weather Web Service / LWWS)を
使用しています。

http://weather.livedoor.com/forecast/webservice/rest/v1?city=84&day=today

属性(attribute)の名前から値を取得

属性(attribute)の名前から属性オブジェクトを取得するにはget_attribute()
を使用します。この関数は、XML_ELEMENT_NODEタイプで使用することができます。

livedoorのお天気情報サービス(Livedoor Weather Web Service / LWWS)を例に取得して見ます。
get_elements_by_tagname()関数に'location'というタグ名を指定することで要素を取得します。
locationタグの属性areaを取得します。

Dim weatherxml As New XmlDocument
Dim web As New System.Net.WebClient()
Dim st As System.IO.Stream = web.OpenRead("http://weather.livedoor.com/forecast/" _
                                          "webservice/rest/v1?city=84&day=today")

weatherxml.Load(st)

Dim nodeList As XmlNodeList = weatherxml.GetElementsByTagName("location")

Trace.WriteLine(nodeList.Item(0).Attributes("area").Value)

st.Close()

取得結果は、次のようになります。

近畿

もう少しわかりやすく

Dim weatherxml As New XmlDocument
Dim web As New System.Net.WebClient()
Dim st As System.IO.Stream = web.OpenRead("http://weather.livedoor.com/forecast/" _
                                          "webservice/rest/v1?city=84&day=today")

weatherxml.Load(st)

Dim nodeList As XmlNodeList = weatherxml.GetElementsByTagName("location")

Dim elem As XmlElement = nodeList.Item(0)

Trace.WriteLine(elem.GetAttribute("area"))

st.Close()