次にサーバーがXML(Extensible Markup Language)の形式でデータを返してくるケースを見ていこう。現実にはこのタイプのWeb APIの方が多い。

 XMLとはWeb 2.0時代に欠かせないページ記述言語で……なんて講釈より実際にやってみる方が理解が進む。先の「郵便番号検索 CSV XML Web サービス API」には、XML形式でデータを返す機能もあるので、これを使ってみよう。

 URLの検索条件にあるcsvの部分をxmlに変えて「http://zip.turl.biz/xml.php?zip=1330057」などとすればいい。試しにIEでアクセスすると図16のようなテキストデータが返ってくる(見やすいよう桁そろえして加工した)。この内容はXMLで記述されている。

itemのtownは西小岩

 XMLは階層構造のデータを記述できるのが特徴だ。<address>と</address>で囲まれた部分が住所情報の集合体であることを表し、中にある<item>~</item>が1つの住所情報を表す。それぞれのitemにはzip(郵便番号)、pref(都道府県)、city(市区)、town(町村)の情報が格納されている。この例では住所情報が1つだけだが、複数あれば、<item>~</item>のブロックが複数列挙される。

 例えば<town>西小岩</town>は、「town」という属性の情報が「西小岩」であることを表す。データ本体だけでなく属性情報を含められるのもXMLの特徴だ。属性情報を表す<town>などの文字列をタグと呼ぶ。town、city、zipなどの名称は基本的にXML作成者が自由に決められる。

 ただ、同じ分野の情報でタグ名称などを統一する業界の動きもある。企業間取引で用いられるebXML(Electronic Business XML)、数式を扱うMathML(Mathematical Markup Language)、住所情報を取り扱うContactXMLなどだ。ContactXMLは年賀状ソフトなどが住所録の交換フォーマットとして採用しているので名前をご存じの方もいるだろう。なお図16のXMLはContactXMLの書式ではない。

プログラムを解析するコツ

 VB Editorで1行ずつプログラムを実行しながら変数の様子を見てみると、プログラムの意味を理解しやすい。「デバッグ」→「ブレークポイントの設定/解除」を選ぶと、プログラムを一時停止させるブレークポイントがカーソル位置に設定される(茶色の部分)。プログラムを実行すると、そこで停止してVB Editorが前面に来る。そうしたら[F8]キープログラムを解析するコツを押そう。押すたびに1行ずつプログラムが実行されていく(黄色が次に実行する部分)。

 このときに便利なのが「表示」→「イミディエイトウィンドウ」で現れるウインドウだ。半角の?に続けて変数名を入力して[Enter]キーを押すと、現在の値を確認できる。画面下はアクセスするURLと返ってきたXMLを見たところだ。

この先は会員の登録が必要です。今なら有料会員(月額プラン)は12月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら