サンプルアプリを使ってみる

XPathってご存知でしょうか?XPathはXMLのデータをピンポイントで取得するための文法です。
簡単なXPathの記法はすぐ理解できると思いますので、下の記事を続けて読んでみてください。
XPathの高度な文法はこのサイトでは説明しませんので、「XPath」でインターネット検索してみてください。

サンプルアプリにXMLファイルを入力する

サンプルアプリは起動しているはずですので、「参照」ボタンを押して、「サンプルをビルド」のページで
ダウンロードしたXMLファイルを選択してください。

XPathを使ってみる

読み込んだ XML は以下の内容として、話を進めます。

入力XMLは、飲食店のメニューをイメージして用意しました。さっそくXPathで、このXMLデータから
ピンポイントで文字列を取り出して見ましょう。

  1. 検索XPathに「 /price/drink/item[@name='beer'] 」を入力します
  2. 「↓取出↓」ボタンを押します
  3. 変換結果に 「500」と、ビールの価格が取り出されました。

XMLの構造をフォルダのように見ると、XPathの意味って何となく分かりますよね?

このサンプルアプリは、元のXMLファイルを書き換えることもできます。
試しに、ビールの価格を 550 にして見ましょう。

  1. 変換結果の 「500」を「550」に書き換えます。
  2. 「↑書込↑」ボタンを押します。
  3. 元のprice.xmlが更新されました。

色々なXPathを入力してみる

参考までに、色々なXPathを入力して「↓取出↓」ボタンを押してみましょう。
(注)本アプリでは、XPathに該当するデータが複数あったときは、最初の1件だけ表示します。

XPathの記述例
目的 XPath 結果 「↑書込↑」
とんかつ の値段を見る /price/food/item[@name='とんかつ'] 650 ○可
foodの一覧を表示する /price/food/item/@name 定食
とんかつ
うどん
△(注)XPathは3箇所にヒットしていますが、本アプリでは最初の1箇所(定食)を書き換えます
ワインが700円未満かどうか boolean(/price/drinkitem[@name ='wine'] < 700]) true ×不可(関数の結果なので)
20歳以上限定のドリンクの数 count(/price/drink/node()[@year >=20]) 2.0 ×不可(関数の結果なので)