ホーム > X-Plus > XML Square >  デベロッパーズコーナー  >  DOMプログラミング講座

この記事を送る はてなブックマークに追加する BuzzurlにブックマークBuzzurlにブックマーク Yahoo!ブックマークに登録
テキストリンクコードを取得する

デベロッパーズコーナー:DOMプログラミング講座 II(4)

2001年08月22日作成 

使って理解するDOMプログラミング
第2回:サンプルで理解するDOMの利用

(株)日本ユニテック
竹内 理


目次<全7ページ>

3.準備
4.サンプルで使用するXMLファイルについて


サンプルで使用するXMLファイルについて

ここでXMLで記述されたデータセットファイルの内容について説明しておきます。ダウンロードしたdataset.xmlファイルを開いてください。

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
    <table name="Person">
        <row Name="'O.Wilde'" Age="67"/>
        <row Name="'C.Dickenz'" Age="78"/>
    </table>
</dataset>

リスト1.データセットファイル(dataset.xml)

最上位の要素は"dataset"です。その子要素としてひとつ以上の"table"要素が存在します。これはRDBのひとつのテーブルに挿入するデータをまとめた要素です。属性"name"はデータを挿入する先のテーブルの名前を記入しておきます。リスト2の例では、"table"要素の属性"name"は"Person"テーブルにデータを挿入することを示しています。"table"要素は複数存在することが出来ます。つまり、ひとつのデータセットファイルに必要なだけデータを記述しておけば一度に複数のテーブルにデータを挿入することが出来ます。

"table"要素は子要素としてひとつ以上の"row"要素を持ちます。"row"要素はRDBのテーブルの一つの行に挿入するデータを保持しています。具体的には挿入先のテーブルのフィールド名を属性名として持ち、それぞれの属性値を実際のデータとして挿入します。リスト2の例ですと、一つ目の"row"要素は"Person"テーブルの"Name"フィールドに'O.Wilde'、"Age"フィールドに67というデータを挿入します。数値データ以外のデータにはシングルクォーテションを付けておくことにします。

では例えばリスト2から、生成されるSQL文はどのようなものでしょうか。setDataSet()メソッドではひとつの"row"要素についてひとつのSQLのInsert文を生成します。一つ目の"row"要素から生成されるのは次のSQL文です。

INSERT INTO Person (Name,Age) VALUES ('O.Wilde',67);


サンプルコードの構成

次に、サンプルコードの構成を説明しておきましょう。XML2DBモジュールはJavaのクラスとして実装します。では、XML2DBクラスのソースを開いてください(XML2DB.java)。

このクラスは以下のようなメソッドを用意しています。それぞれのメソッドの名前と機能について説明します。

メソッド名
機能
XML2DB コンストラクタ。今回は特に処理は記述しません。
setDataSet DOMを利用して、データファイルを解析しRDBにデータを挿入するSQL文を生成する。最後にdoInsert関数を呼んでRDBにデータを格納する。
doInsert setDataSet関数で生成したSQL文を実行する。

表3.DB2XMLの構成

XML2DBを使用してリレーショナルデータベースから取得したデータをXMLに変換する処理を行うには次のようなコードを記述します。

XML2DB x2d = new XML2DB();//XML2DBオブジェクトを生成する。
x2d.setDataSet();//データファイルを解析し、RDBにデータを格納する。

まず、XML2DBオブジェクトを生成します。次にsetDataSet()ではRDBにデータセットファイルを解析し、内部でdoInesrt()を呼び出してRDBにデータを挿入します。

今回は表2の3つのメソッドのうち、DOMを利用するsetDataSet()メソッドに注目し、詳しく内容を見ていきます。その他のメソッドに関してはDOMとの関わりが薄いのでこのセクションでの説明はしません。
setDataSet()は前述のとおりデータセットファイルを解析して、データベースに格納するデータを取得し、それらのデータをデータベースに挿入するためのSQL文を生成します。XMLで記述されたデータセットファイルを解析する際にDOMを利用するわけです。




関連サービス

IT技術およびIT製品の可用性調査・検証業務





ページトップへ戻る