私は現在RSSフィードリーダーを開発していますが、どのXML解析APIがそれに最適か疑問に思っています。(私はフィードパーサーライブラリを探していないことに注意してください-それはXML APIに関するその研究の出発点にすぎません)
次の基準に焦点を当てて、Javaプラットフォーム上のさまざまなXML解析APIの概要を探しています。
- 設定のしやすさ
- 構成は別のファイルにありますか?
- 合理的なデフォルトはありますか?
- 使いやすさ
- ノードナビゲーション-兄弟、子、親へ。
- 名前空間、属性、テキストへのアクセス/操作。
- クラス階層はよく考えられていますか、それとも自然ですか?
- 無効なXML-何が起こりますか(いつ失敗しますか?)、そして次の場合に何ができますか?
- 無効な文字が検出されました(エンコーディングまたはXML仕様のいずれかで禁止されています)
- ツリー構造が無効です(たとえば、エスケープされていないHTMLタグのため)
重要ではありませんが、役立つと思われる情報を次に示します。
- パフォーマンスの比較
- 利用可能な実装のリスト
現在、JVMでXMLAPIを検討しています。
- これは、Java標準(DOM、SAX、StAX、JAXP)、または実装固有のAPIにすることができます。
- これは、JVM上の任意の言語(Scala、Groovy、Jython、JRuby ...)のAPIにすることができます。標準のJavaAPIと比較して何かを追加することを確認してください。
このスレッドを構成する良い方法は、回答ごとに1つのAPIのみを持つことだと思います。