関連記事の目次はこちら


読み取りのバリエーションを増やしてみる。

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


早速始める。
まずは例。
    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)/下佐粉 昭

¥2,730
Amazon.co.jp


次回は、属性に触れる予定である。

今までで一番たくさん見た映画は? ブログネタ:今までで一番たくさん見た映画は? 参加中


んー、「ローマの休日」か「カサブランカ」かな。これらは英語を学ぶにはいい言葉が多いようで、昔ラジオ放送されていた「百万人の英語」という番組でも取り上げられていたように思う。



「ローマの休日」は説明不要かもしれない。いわゆる禁じられた恋を描いたもの。なんだろう、高校生の頃に見てハマった、という表現が一番しっくりくるかもしれない。
立場を隠し特ダネにしようとする記者と、身分を隠し自ら作った「休日」を謳歌するプリンセス。友達のカメラマン、プリンセスの調髪をした理髪師、プリンセスを連れ戻す任務の黒づくめ軍団など、脇も面白い。当初はわがままなプリンセスが恋を経験したためだろうか、プリンセスという立場を自覚し、宮殿に戻る姿も見ている者の心を揺さぶる。
1953年の作品。この前の年に、日本では「皇太子銀ブラ事件」があったそうだ。日本での公開は1954年だそうなので、題材のヒントになったのか、ただの偶然か、そこは謎である。


「カサブランカ」は戦争に翻弄された出会い、別れ、そして偶然の再会、に三角関係を織り込んだ作品。大学生の頃にさんざん見た。
この街はナチスの統治下だが、ここからリスボン行きの便があり、リスボン経由でアメリカに逃げられる、という意味を持つ街だ。ナチスから逃れるために経由する輩も数多く居るが、「通行証」がないことにはリスボンには行くことが出来ない。そんな街でかつてはパリに居たリックが酒場を開いている。そこでパリ陥落の日、最後の列車乗ることを約束していたが手紙ひとつで別れを告げられた女性に再会する。彼女は反ナチスの大物リーダーと一緒だった。忘れようとしていた心が乱されるが、それは彼女も同じだった。
特に印象深い脇役がリックとパリから一緒に居る黒人ピアニスト、警察署長。ピアニストは過去を、警察署長は未来を、それぞれ象徴しているように感じた。この劇中に流れる As Time Goes By という曲は秋や冬の心に良く染み込む。


ちなみに、私自身も、この映画で覚えた言葉を海外旅行中に使ったことがある。カサブランカで有名な「君の瞳に乾杯」ではない。そんなキザなことはちょっと・・。
中国の昆明という街で入った宿屋のドミトリー(ベットがたくさん並んでる相部屋)で、白人の女性と挨拶した際(ここは男女相部屋のドミトリーだった)。ローマの休日の終盤、主人公が仲間のカメラマンを追い払うのに「ひげを剃ってこい」を、少しアレンジして「ひげを剃ってくる」と笑顔で言ったら、それまで硬い表情だったその女性が柔和になった。映画の台詞って、結構外国人も知ってるみたいで、通じると面白い。

IKEAに行きたい、という家庭内の意見により、いっちょ行ってみることにした。JR新三郷駅からすぐの店舗にすることにした。
車にはあまり金を掛けないのでカーナビもETCも付いていない。地図を見て本ルートと迂回ルートを頭に叩き込み、「このへんまで行けば案内の看板があるだろう」と、いざ出発。

途中、不思議と渋滞するところがあったが、三郷市に突入。んじゃこの辺適当に走れば着くだろう、と思い走るが、ここでハプニング。地図が古かったみたいで、道が変わっているうえ、案内板のようなものが見あたらない。記憶した方角を頼りに走ると何とか到着。

あまり期待してなかったが、結構面白かった。ホームセンターや家具屋に行けば椅子とか本棚はけっこうじっくりみるのだが、そういうものも充実していた。いちおう順路のようになっていて、近道とかもあるし、所々子供が遊べる簡単なゲームが設置されていたりと、店作りとして面白い。で、広い。2時間くらいがあっという間であった。

1階に集中レジがあり、そこを抜けたところに軽食コーナー。少し小振りだが、ホットドックが100円。フリードリンクが70円。ホットドック+フリードリンクは150円と、20円お得。ソフトクリームは50円だったかな?つい買ってしまう値段であった。

今度は渋滞を回避できるよう、別の迂回路を覚えて、また行ってみたいと思う。