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

  • 更新日:
  • Java

研究の関係で、大量のテキストデータを扱う必要が出てきました。最近のエントリでいくつか扱ってきたように、その大量のデータは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インターフェースを実装する必要がありません。

Track Back

Track Back URL

コメントする

公開されません

refresh captcha

画像の中に見える文字を入力してください。

このページの上部へ

About

tetsuの日記・雑記です。
日々経験したことを記録していきます。

広告

サイト内検索

最近のピクチャ

  • リアディレーラ

月別アーカイブ

最近のコメント