関連記事の目次はこちら
読み取りのバリエーションを増やしてみる。
ベースとするソースコードはこちらに書いたものを使い回す。
早速始める。
まずは例。
結果は
北海道 札幌
青森 青森
鹿児島 鹿児島
沖縄 那覇
となる。
前回の最後と見比べていただくと、渡すパラメータは
前回:/records/prefectural/*
今回:/records/prefectural
と、/* があるかないか、の違いである。
さて、では「 / だけ残したらどうなる?」という疑問も湧くだろう。
/records/prefectural/
という場合だ。
結果は、「DOMはノードを返しません」というエラーが発生した。残念ながら、これはNGである。
タグの名前も併せて取得 -----------------
これまで、いわば「内容」だけを取っていた。「項目」も見てみたい。
この結果は
name:北海道 , capital:札幌
name:青森 , capital:青森
name:鹿児島 , capital:鹿児島
name:沖縄 , capital:那覇
となる。
今までは単にNodeという変数の Text プロパティを取得していただけだが、childNodes(n) ※言うまでもないが、nは変数。上記プログラムでFor文で変化しているもので、単なるアルファベットではない。の nodeName と nodeTypedValue を取得している。
childNodesの数だけ繰り返すので、全要素を出力することになる。
なお、プロパティでやたらと Node という綴り出てくる。ノード、というが「こぶ」とか「節」とかいう意味で、いまひとつピンとこない。
意味的にはclusterの方が理解しやすいのではないかと思う。その点、以下の書籍では上手に説明している。
XML-DB開発 実技コース (DB Magazine SELECTION)/下佐粉 昭
![](https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51m1hPZ2RYL._SL160_.jpg)
¥2,730
Amazon.co.jp
次回は、属性に触れる予定である。
読み取りのバリエーションを増やしてみる。
ベースとするソースコードはこちらに書いたものを使い回す。
早速始める。
まずは例。
For Each Node In XDoc.selectNodes("/records/prefectural")
Debug.Print Node.Text
Next
結果は
北海道 札幌
青森 青森
鹿児島 鹿児島
沖縄 那覇
となる。
前回の最後と見比べていただくと、渡すパラメータは
前回:/records/prefectural/*
今回:/records/prefectural
と、/* があるかないか、の違いである。
さて、では「 / だけ残したらどうなる?」という疑問も湧くだろう。
/records/prefectural/
という場合だ。
For Each Node In XDoc.selectNodes("/records/prefectural/")
Debug.Print Node.Text
Next
結果は、「DOMはノードを返しません」というエラーが発生した。残念ながら、これはNGである。
タグの名前も併せて取得 -----------------
これまで、いわば「内容」だけを取っていた。「項目」も見てみたい。
For Each Node In XDoc.selectNodes("/records/prefectural")
Dim i As Integer
Dim Wk As String
Wk = ""
For i = 0 To Node.childNodes.Length - 1
Wk = Wk & Node.childNodes(i).nodeName & ":" & Node.childNodes(i).nodeTypedValue & " , "
Next i
Wk = Left(Wk, Len(Wk) - 2)
Debug.Print Wk
Next
この結果は
name:北海道 , capital:札幌
name:青森 , capital:青森
name:鹿児島 , capital:鹿児島
name:沖縄 , capital:那覇
となる。
今までは単にNodeという変数の Text プロパティを取得していただけだが、childNodes(n) ※言うまでもないが、nは変数。上記プログラムでFor文で変化しているもので、単なるアルファベットではない。の nodeName と nodeTypedValue を取得している。
childNodesの数だけ繰り返すので、全要素を出力することになる。
なお、プロパティでやたらと Node という綴り出てくる。ノード、というが「こぶ」とか「節」とかいう意味で、いまひとつピンとこない。
意味的にはclusterの方が理解しやすいのではないかと思う。その点、以下の書籍では上手に説明している。
XML-DB開発 実技コース (DB Magazine SELECTION)/下佐粉 昭
![](https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51m1hPZ2RYL._SL160_.jpg)
¥2,730
Amazon.co.jp
次回は、属性に触れる予定である。