パーサを使用して巨大なXMLファイルのDOMを作成したいとします。しかし、DOMパーサーはメモリホッガーです。だから私は、多くのメモリを使用しないDOMパーサのための代替手段があることを知りたがっていますが、DOMを作成することができます。また、そのような状況を処理するための他の効率的なアルゴリズムやパーサがあるかどうかを提案してください。DOMパーサーを使用せずにXML用DOMを作成する方法
答えて
DOMパーサーが多くのメモリを使用するのは、DOMが大量のメモリを使用するためです。
JDOM2やXOMなど、DOMよりもメモリの占有量が少ないツリーモデルがあります。彼らはまた、はるかにユーザーフレンドリーです。
XMLを処理する際に使用されるメモリを減らす方法は他にもたくさんありますが、すべて解析するとXMLで何をしたいかによって異なります。
2つのxmlを正確に区別したいと思います。私の計画は、XMLを解析し、それらをDOMとして保存し、それらを比較することです。解析後、xmlを比較したいと思います。 –
差分は、それ自体では非常に芸術です。ホイールを再開発しようとするよりも、DeltaXMLのような仕事用に設計されたツールを手に入れてみませんか? XSLTやXQueryのように、XML処理用に設計された高水準言語を使用しないでください。 –
あなたが言ったように、...
根本的な原因のためのDOMは、メモリhoggerは、JDOMやDOM4Jも同様の問題を持っている...私はJDOM2とfaimilarないのですが、JDOMと多くの共通点を持っているように見えますDOMのメモリの問題は、実際には多くの小さな離散オブジェクトを割り当てるという固有の制限です。
VTD-XMLはDOM、JDOM、DOM4Jからの抜粋です。多くの小さなオブジェクトを割り当てる代わりに、大規模なメモリブロックを内部的に割り当て、劇的なメモリ節約を可能にします...ランダムアクセス機能の大部分を保持しながら、XPath
DOMを構築することはお勧めしませんすべて...あなたはvtd-xmlでできないDOMで何もできません。
- 1. DOM用Perl XMLパーサー
- 2. DOMパーサーを使用したAndroid XML解析の問題
- 3. SAX xmlパーサーまたはDOMパーサー?
- 4. xml dom parsing javascriptを使用
- 5. JxPathとDOMパーサーを使ってXMLファイルを解析する方法
- 6. 資産フォルダからDOM xmlパーサーに読み込む方法は?
- 7. JQueryを使用せずに文字列からDOM文書を作成
- 8. .NET HTML DOMパーサー?
- 9. DOMを使用してXMLを作成するときに空のXMLが作成される
- 10. xmlの値をjavaでdomを使用
- 11. DOMパーサーを使用した空のxmlタグ圧縮のPerlインライン関数
- 12. PHPを使用して外部URLを掻く方法簡単なhtml DOMパーサー
- 13. PHP DOMを使用してMySQLデータからXMLファイルを作成する
- 14. DOMを使用して.innerHTMLを使用せずにHTMLテーブルの値を設定する方法
- 15. シンプルなHTML DOMパーサーを使用してIDでテーブルを検索
- 16. JS HTML DOMを使用して "target"、 "_ blank"を作成する方法
- 17. DOMパーサーでテキストを抽出
- 18. PHPを使用する前にASP WebサイトにログインするシンプルなHTML DOMパーサー
- 19. PHPを使用した廃棄単純なHTML DOMパーサー
- 20. HTML DOMパーサーを使用したテーブルの廃棄
- 21. React Native JayData XML DOMパーサーはサポートされていません
- 22. XML文字列からDOM要素を作成し、.getElementsByName()を使用する方法は?
- 23. DOMの内挿法を使用する
- 24. DOMを使って縦線を作成する方法は?
- 25. DOMを使用して作成された要素の設定のスタイルDOM
- 26. DOM&javascriptを使用してxmlデータをhtmlにロードする
- 27. PHP単純なHTML DOMパーサー - ブロック反復の操作方法
- 28. jQueryでDOMを使用してXML文字列をクエリする方法
- 29. SAXパーサーがDOMツリーを処理する
- 30. IDを使用せずにDOMを非表示/非表示にする要素を取得する方法は?
パーサーはあなたのメモリをいっぱいにしませんが、DOM自体はそうです。 – wero
Ok.しかし、構文解析中にDOM以外のメモリにも格納されるオーバーヘッドは多くありませんか? –
なぜパーサーはそれを行うべきですか? – wero