SAX(7) サンプルプログラムの作成(2)

2006年02月12日(日)更新


SAXを使ったプログラムの例 SAXSample1

たけち: 前回、SAXを使ったプログラムの処理の流れSAXを使ったプログラムの処理の流れについて学んだよね。

さらら: えぇ。でもそれだけじゃ、どんな風にプログラムを書いたらいいのか分からないわ。

たけち: さららの言うとおりだね。今回は、SAXを使ったプログラムの処理の流れに対応させながらプログラムの例を見てみよう。

さらら: あっ、それって、うれしい。

たけち: まずは、SAXSample1のプログラムの内容を次の図で説明するね。前回の説明図も参考にしてね。

さらら: はい。

SAXを使ったプログラムの例の説明

さらら: 心配したほどは複雑じゃないのね。なんとなく、少し分かったような気がするわ。細かいところはよく分からないけど。。。。

たけち: 最後の
parser.parse(fileName);
を実行すると、SAXReaderが"fileName"で指定したXMLファイルを読み込んで、パースするんだね。

さらら: そっか。で、その後はどうなるの?

たけち: SAXReaderがXMLデータをパースして、要素などを見つけたときに、
parser.setContentHandler(sh);
で登録したSampleSAXHandler1を呼んでもらえるようになるんだよ。

さらら: そうなんだ。じゃあ、あとはそのSampleSAXHandler1を作ればいいのね。

たけち: そうそう。じゃあ次に、SampleSAXHandler1のプログラムの内容を図で説明するね。

SampleSAXHandler1の説明

さらら: あっ、これって、最初にSAXの説明をしてくれたときに図に載っていたSAXインターフェイスね。

たけち: そうそう。今回のサンプルでは、つぎのものを使っているね。

  1. startDocument: ドキュメントの開始
  2. endDocument: ドキュメントの終了
  3. startElement: 要素の開始
  4. endElement: 要素の終了

さらら: なるほど。。。なんとなく、SampleSAXHandler1でやっていることは分かったような気がするけど、まだ実感として本当に分かったかどうかは不安だわ。

たけち: そっか。でも、次回は、実際にこのプログラムを作成して、XMLファイルを読んでみよう。そうしたらもっと分かると思うよ。

さらら: あっ、そうだね。実際に動かしてみないとね。楽しみだわ。

→次回は、SAXSample1とSampleSAXHandler1を作成しましょう。・・・ (^ ^;