関連記事の目次はこちら


今回は検索をしてみる。

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

早速。
    For Each Node In XDoc.selectNodes("/records/prefectural/name[.='沖縄']")
Debug.Print Node.Text
Next

結果は

沖縄

となる。沖縄と同じテキストのものはこのひとつだから。

属性でも検索ができる。次のようなコードで。
    For Each Node In XDoc.selectNodes("/records/prefectural[@area='9']")
Debug.Print Node.Text
Next

結果は

鹿児島 鹿児島
沖縄 那覇

となる。


--------------------------------------

他の言語でのこととも書いたが、実はVBAでどうしてもXMLを使いたい状況になった、ということもあり、こういうネタを書いた。
更新等はそのうち書くとは思うが、これを使った別件に取りかかるため、XML系のネタは一旦これでお休みとする。

※並べ替えとか、面白そうなので簡単にできるなら、と思ったが、XSLを使った例しか見あたらなかったり・・。それってひとつ敷居が高かったりする・・。まだまだ勉強不足/情報不足なのだ。


表現が解りにくい等があればご連絡頂ければと思う。