属性(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()