2

インターネットからダウンロードできる大きなxmlファイルがあります。それを解析するために、DOMパーサーを使用してみましたが、エラーが発生するため、特定のタグをスキップできません。これを回避する方法はありますか?私が正しく理解していれば、SAXパーサーではタグをスキップできますが、DOMではスキップできません。誰かがこの事実を親切に明らかにすることができますか、それが事実であるかのように、私はDOMパーサーの利点が何であるかを理解できません。前もって感謝します。

4

1 に答える 1

12

DOM は、任意の XML データを保持する言語に依存しないオブジェクト モデルとして設計されているため、大規模で複雑なシステムです。これは、最初に XML ドキュメントをロードしてから、さまざまな操作を実行するという 2 段階のアプローチに適しています。一方、SAX は、単一フェーズのアプローチを使用してかなり軽量なシステムとして設計されました。SAX では、ドキュメントが読み込まれるときにユーザー指定の操作が実行されます。一部のアプリケーションでは、SAX を使用してより小さなオブジェクト モデルを生成し、不要な情報を除外して、DOM と同様に処理します。DOM と SAX はよく知られている「標準」の XML API ですが、他にも多数の API が利用可能であり、特定のアプリケーションでは非標準 API を使用した方がよい場合があることに注意してください。XML で重要なのは常にデータです。コードを書き換えることができます。

いくつかの簡単なポイント:

  1. SAX は DOM よりも高速です。
  2. SAX は、Dom よりもメモリ使用量が比較的少ないため、大きなドキュメントに適しています。
  3. SAX は文書を読むのに時間がかかりますが、Dom はより時間がかかります。
  4. SAX ではデータにアクセスできますが、データを変更することはできません。Dom ではデータを変更できます。
  5. SAX 解析は、いつでもどこでも停止できます。
  6. SAX は順次解析ですが、DOM を使用すると後方に移動することもできます。
  7. マシンが生成したコードを解析するには SAX の方が優れています。人間が読めるドキュメントを解析するには DOM が便利です。
于 2012-08-02T08:51:33.733 に答える