関連記事の目次はこちら


今回は属性に関して。

ベースとするソースコードはこちらに書いたものを使い回す。

早速始める。
    For Each Node In XDoc.selectNodes("/records/prefectural/@id")
Debug.Print Node.XML
Next

結果は

01
02
46
47

となる。@を付けると、それは属性っていう決まりだそうな。

上記で @id を @area に変えるとエリアの情報が取れるが、@Area などとすると何も取れない。大文字と小文字は区別されている、ということになる。

属性と値を一緒に出すには次のようなコードで。
    For Each Node In XDoc.selectNodes("/records/prefectural")

Dim i As Integer
Dim Wk As String
Wk = ""
For i = 0 To Node.Attributes.Length - 1
Wk = Wk & Node.Attributes(i).baseName & ":" & Node.Attributes(i).Text & " , "
Next i
Wk = Left(Wk, Len(Wk) - 2)
Debug.Print Wk

Next

結果は

id:01 , area:1
id:02 , area:2
id:46 , area:9
id:47 , area:9

となる。

さて、次回はいよいよ検索に入っていこうと思う。