JavaでXMLファイルを読み込んでDOMにします。このときパーズに結構時間がかかる(数10KBのXMLで3秒程度)ので,この部分を高速化したいと思っています。あらかじめデシリアライズしておいてそれを読み込めばいいと思ったのですが,具体的な方法がわかりません。ご存知のかたは教えてください。

また,パーズの高速化するその他の方法でもかまいません。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2006/05/29 19:27:35
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:stormbird No.2

回答回数75ベストアンサー獲得回数2

ポイント50pt

実装依存を割り切れば、Documentの実装クラスにダウンキャストしてObjectOutputStreamで一応いけると思います。(実装クラスがSerializableをimplementしていれば。xercesのDocumentImplはOKですね。)

ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("document.obj"));

out.writeObject((DocumentImpl)document);

どの程度効果があるか興味があります。

↓ダミーです。

http://www.koders.com/

id:pomo123

教えていただいた方法で解決しました。ありがとうございました。

2006/05/29 19:26:11

その他の回答1件)

id:stormbird No.1

回答回数75ベストアンサー獲得回数2

ポイント25pt

JDomがおすすめです。SAX並の速度でDOM並の使いやすさというふれこみです。

http://jdom.org/

http://www-06.ibm.com/jp/developerworks/java/010810/j_j-jdom.htm...

設定ファイルの読み込みといった用途ならjakarta configurationあたりも候補になります。

http://jakarta.apache.org/commons/configuration/

http://journal.mycom.co.jp/news/2005/12/19/045.html

また用途次第ではJAXBなどのXMLバインディングも候補になります。

http://www.techscore.com/tech/J2SE/DOM/9.html

http://www.atmarkit.co.jp/fxml/rensai2/xmltool02/01.html

JavaでDOMを直接扱う機会は減っているかなーと思います。

id:pomo123

JDOMはなかなか面白そうです。

JAXBは次に新しいのをつくるときにぜひ使いたいです。

今回は,既存システムのチューニングなので,上ものにあまり手をいれなくていい方法をはないかと探しています。

xercesのXMLSerializerをつかったらXMLファイルとして出力されてしまい,これを再度読み込んでも高速化にはつながりませんでした。

2006/05/28 07:15:50
id:stormbird No.2

回答回数75ベストアンサー獲得回数2ここでベストアンサー

ポイント50pt

実装依存を割り切れば、Documentの実装クラスにダウンキャストしてObjectOutputStreamで一応いけると思います。(実装クラスがSerializableをimplementしていれば。xercesのDocumentImplはOKですね。)

ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("document.obj"));

out.writeObject((DocumentImpl)document);

どの程度効果があるか興味があります。

↓ダミーです。

http://www.koders.com/

id:pomo123

教えていただいた方法で解決しました。ありがとうございました。

2006/05/29 19:26:11

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

  • [java]人力検索サイト比較 pomo123の日記 2006-05-29 21:41:07
    Java関係の質問を以下の4つの人力検索サイトに投げてみました。 はてな http://q.hatena.ne.jp/ livedoor knowledge http://knowledge.livedoor.com/ okwave http://okwave.jp/ Yahoo知恵袋 http://chiebukuro.yahoo.co.jp/ 質
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません