JavaでXMLへの入出力を行うには

研究の関係で、大量のテキストデータを扱う必要が出てきました。最近のエントリでいくつか扱ってきたように、その大量のデータはSGMLで記述されているのですが、それではテキストデータからプログラムに読み込むだけでリソースを多く消費してしまいます。それでは困るので、Javaで扱いやすいXML形式に変換してやろうというわけです。

とりあえず簡単に調べてみたところ、APIに java.beans.XMLEncoderjava.beans.XMLEncoder があることが分かりました。これを使ってXMLにデータを変換してやります。

[web] XMLEncoder - Java Platform SE 6
[web] XMLDecoder - Java Platform SE 6

XMLEncoderクラスが、オブジェクトからXMLに変換するクラスです。逆にXMLDecoderクラスが、XMLからオブジェクトに変換します。使い方は次の通り。

OutputStream out = new FileOutputStream("hoge.xml");
XMLEncoder encoder = new XMLEncoder(
						new BufferedOutputStream(out));
encoder.writeObject(obj);
encoder.close();
InputStream in = newn BufferedInputStream(
                                              new FileInputStream("test.xml"));
XMLDecoder decoder = new XMLDecoder(in);
Object obj = decoder.readObject();
decoder.close();


エンコードするオブジェクトには、いくつか制限があります。
(1)引数なしのコンストラクタを実装している。
(2)フィールドに対応したgetter/setterを実装している。

ただし、ObjectOutputStreamクラスの場合と異なり、Serializableインターフェースを実装する必要がありません。

トラックバック(0)

このブログ記事を参照しているブログ一覧: JavaでXMLへの入出力を行うには

このブログ記事に対するトラックバックURL: http://trialpc.net/mt/mt-tb.cgi/1321

コメントする

Advertizement

このブログ記事について

このページは、tetsuが2007年8月 7日 16:45に書いたブログ記事です。

ひとつ前のブログ記事は「IE6が1行のHTMLコードで落ちる?」です。

次のブログ記事は「夏こそ!?」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 5.0

最近のコメント

カウンタ

リンク