[解決済み] StAXではなくSAXを選択すべきなのはどのような場合か?
2023-07-12 07:18:47
質問
SAXやStAXのようなストリーミングXMLパーサーは、DOMパーサーのようなツリー構造を構築するパーサーよりも高速でメモリ効率に優れています。SAXはプッシュ パーサーであり、オブザーバー パターン(リスナー パターンとも呼ばれる)のインスタンスであることを意味します。SAX が最初に登場しましたが、その後 StAX が登場しました。これはプル パーサーで、基本的にイテレータのように動作することを意味します。
SAXよりもStAXを好む理由はどこにでもありますが、大抵は「使いやすいから」ということに尽きます。
JAXPのJavaチュートリアルでは、StAXはDOMとSAXの中間として漠然と提示されています: "SAXより簡単でDOMより効率的です"。しかし、私はStAXがSAXよりも遅い、あるいはメモリ効率が悪いという手がかりを見つけられませんでした。
これらすべてから、私は不思議に思いました。 StAX ではなく SAX を選択する理由はあるのでしょうか?
どのように解決するのですか?
少し一般化すると、私は
StAX
と同じくらい効率的だと思います。
SAX
. 改良されたデザインで
StAX
という状況を見つけることはできませんが
SAX
のパースが望ましいという状況は、レガシーコードで作業している場合を除き、あまり見当たりません。
EDIT
: このブログによると
Java SAX と StAX の比較
StAX
はスキーマの検証を行いません。
関連
-
undefined[sonar] sonar:デフォルトのスキャンルール
-
Collections.sortがdoubleでソートできない問題を完璧に解決する。
-
Junitのユニットテストはjava.lang.Testを報告します。
-
ApiModel と @ApiModelProperty の使用法
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] ThreadLocal変数はいつ、どのように使用すればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
XMLファイル操作時のjava.util.NoSuchElementExceptionを解決する方法。
-
型に解決できない エラー解決
-
Collections.sortがdoubleでソートできない問題を完璧に解決する。
-
-bash: java: コマンドが見つからない 解決方法
-
配列定数は初期化子でのみ使用可能です。
-
org.xml.sax.SAXParseExceptionのエラー解決方法
-
Java JDKのダイナミックプロキシ(AOP)の使用と実装の原理分析
-
Spring Bootは、Tomcatの組み込みのmaxPostSizeの値を設定します。
-
java 365*1000*60*60*24 計算問題
-
IDEAError:javaの依存性エラー。Annotation processing is not supported for module cycles...(アノテーション処理はモジュールサイクルではサポートされていません。