2

C# の XMLReader は、XML ドキュメント全体を一度にメモリに取り込まないという特性があるため、サイズの大きい XML ファイルには非常に役立つようです。Javaにはそのようなものがありますか?JavaにもXMLReaderという名前のクラスがあることがわかりましたが、同じことをしますか? 誰でも明確にしてください。

ありがとう

4

2 に答える 2

2

XML をロードするには 2 つの方法があります。ドキュメント全体をメモリにロードする DOM ドキュメントと、XML を読み取り、ハンドラーを使用してコンテンツを分析する SAX パーサーです。

SAXパーサーを見てください。

于 2012-10-11T08:13:06.337 に答える
1

実際、Java にはXMLReaderという名前のインターフェースがあります。クラスではなくインターフェイスであるため、実装されるまで実際には何もしません。

ただし、これは解析用の SAX パッケージの一部であり、xml のテキストを読み取ることによってトリガーされるイベントを使用して、ドキュメント全体をロードするわけではありません。

このチュートリアルを読んで SAX の使用を開始したり、Google で SAX を検索したりすることをお勧めします。

Java には、他にも XML 解析パッケージがあります。DOM はドキュメント全体をロードするため、大きなファイルの場合は避ける必要があります。 StAXは新しいオプションで、SAX で使用されるプッシュではなくプル システムに基づいていますが、同様にドキュメント全体をロードするわけではありません。

于 2012-10-11T13:13:57.090 に答える