2012-02-24 11 views
4

XMLファイルを解析して解析する必要がある場合がありますが、手動でString.indexOfでこれを行う必要はありません。だから私の必要性は、おそらく最小の高速XML解析ライブラリを使用することです。 Unfortunatelly、私はGSON(180kb)に類似した何かを知らない。Javaのための小さくて、最小限の、そして速いXMLライブラリ?

私はdom4jの輸入しましたが、その後、私は例外持っている:

java.lang.NoClassDefFoundError: org/jaxen/JaxenException

だから私は追加したにJaxen依存(Mavenを)、これは非常に衝撃的な経験です:7メガバイトについて依存関係が追加されました。最大のものはxercesImplicu4jです。

もう1つの推測はJerichoですが、これは主に不正な形式のHTMLを解析するために設計されており、2MBを超えています。

私は良いライブラリをお勧めしますか?最小コードサイズはここで最も重要なものです。せいぜいそれはGSON程度の大きさでなければなりません。

+5

XMLのDOMとSAXパーサは、少なくともJavaの1.4以降の標準的なJavaライブラリに含まれています。なぜそれを使用しないのですか?その後、サードパーティのライブラリはまったく必要ありません。 – Jesper

+0

@artbristol:携帯電話や数千台のデスクトップに出荷する可能性があるので、 *(私はOPが実際にそれをしていると言っているわけではありません:私が言っているのは、これらが不合理な要件ではないということです)* – TacticalCoder

+0

サイズが小さいので、リモートサーバーにアプリケーションをすばやく送信できます。それは10MBを超える良いアイデアではなく、メールを介してサーバ管理者に送信することです...もう一つは使い方の単純さです。多くのXMLは単純にデータ構造をラップするために使用され、DTSと名前空間はなく、 GSONと同じようにマップする –

答えて

2

はNanoXMLを見てください - download site

それは私が過去にそれを使用しましたし、それがうまく働いていた、非常に小さなDOMベースのパーサーライブラリです。それは必ずしも効率的ではないが、それは小さい。

+0

はい。これはまさに私が探していたものでした。 –

2

JAXB。これは標準のJavaプラットフォームの一部なので、余分なライブラリは必要ありません。 XMLをJavaクラスに直接バインドします。

+0

バージョン1.6より... –

+1

@lechlukasz - Java SE 6は5年以上経過しており、2012年11月にサポートEOLに達します(http://www.oracle.com/technetwork/java/eol-135779)。 .html)。したがって、JDK 1.6は妥当なベースラインです。 –

+0

多分理論的には、実際にはjava 1.4がまだ広く使われています –

関連する問題