Android には DOM 、 SAX 、 XmlPull の解析などのメソッドがあります。特定の状況でどの解析を使用する必要があるかを判断するにはどうすればよいですか? 特定の状況でどちらがより最適かを提案してください
1 に答える
SAX と Dom Parser に関する情報を提供します。
Java の SAX XML パーサー
SAX は、Simple API for XML Parsing の略です。これはイベント ベースの XML 解析であり、XML ファイルを段階的に解析するので、大きな XML ファイルに適しています。SAX XML パーサーは、開始タグ、要素、または属性を検出するとイベントを起動し、それに応じて解析が行われます。Java で大きな xml ファイルを解析するには、SAX XML パーサーを使用することをお勧めします。これは、Java で XML ファイル全体をロードする必要がなく、大きな XML ファイルを小さな部分で読み取ることができるためです。Java は SAX パーサーのサポートを提供し、SAX パーサーを使用して Java で任意の xml ファイルを解析できます。ここでは、SAX パーサーを使用して xml ファイルを読み取る例を取り上げました。Java で SAX パーサーを使用することの欠点の 1 つは、SAX パーサーを使用して Java で XML ファイルを読み取るには、DOM パーサーと比較してより多くのコードが必要になることです。
DOM と SAX XML パーサーの違い Java における DOM パーサーと SAX パーサーの高レベルの違いを次に示します。
1) DOM パーサーは xml ドキュメント全体をメモリにロードしますが、SAX は XML ファイルのごく一部のみをメモリにロードします。
2) DOM パーサーは、メモリ内の XML ドキュメント全体にアクセスするため、SAX よりも高速です。
3) Java の SAX パーサーは、大量のメモリを必要としないため、DOM パーサーよりも大きな XML ファイルに適しています。
4) DOM パーサーはドキュメント オブジェクト モデルで動作しますが、SAX はイベント ベースの xml パーサーです。
Java における SAX パーサーと DOM パーサーの違いについては以上です。次に、どちらの XML パーサーを選択するかはあなた次第です。XML ファイルが十分に小さい場合は SAX パーサーよりも DOM パーサーを使用することをお勧めします。処理する XML ファイルのサイズがわからない場合や大きい場合は SAX パーサーを使用することをお勧めします。
XML 解析用の XMLPullParser もありますが、私はそれを使用していないため、それについては詳しくわかりません。