SAX vs XmlTextReader-SAXアプリケーション
質問
る試みを行っています読み込む大きなXML文書やりたいでチャンクvs XmlDocument
's読本全体のファイルに示します私が使用できます XmlTextReader
これでもかと思っていSAXに使用します。います。知っていJavaベースのシステム開発を誓うので破壊も修復もおもしろくなのでまずははじめてみようというのに使用しています。いは細目。
解決
ん SAXます。当期純, のプロジェクトが表示されていない。最後のリリースした2年前のこと。かったので、最終リリースもないベットです。著者のカールWaclawekようとするのは消えてしまったのです。
とSAXの下Java?きのベットです。残念ながら、サックスしたいとして開発した標準、すべてのJavaポートして適用Java APIのために自身のニーズに中DOMもかわいらしいしゃAPIという利点がある。デザインされた複数の言語環境で容易にしますJava,C#,JavaScript,C,et al.
他のヒント
または仕事を得るために迅速、XmlTextReaderが存在するためにその利用目的ます。して順調なものではなかった。
を学びたければ、デファクトスタンダード(および利用の場合その他のプログラミング言語で安定する力すコードは非常に効率的な優雅でも非常に柔軟性に富み、そのうSAX. しかしな時間を無駄にしないという創造性の高い密教XML parsers.代わりに、パーサはこの次世代パーサのようXmlTextReader)められた。
SAX資源
SAXためのJava、オリジナルオープンソースプロジェクトとして、安定した数年間は、こちら:http://sax.sourceforge.net/
があり、C#のプロジェクトはこちら(HTML docsの一環として、ソースをダウンロード);でも安定した:http://saxdotnet.sourceforge.net/
ない場合はのようにC#の実装は、常にリゾートを参照COM DllによCOMInterop用MSXML3以降: http://msdn.microsoft.com/en-us/library/ms994343.aspx
記事からのドキュメンテーションシステムがその例の概念が必要で成功するこのアプローチが発生する可能性がありダウンロードのJavaソースコードが役立つことが示される場合も簡単に行えまへの変換にC#):
- 出力の大きなXML文書1部(http://www.ibm.com/developerworks/xml/library/x-tipbigdoc.html)
- 出力の大きなXML文書その2(http://www.ibm.com/developerworks/xml/library/x-tipbigdoc2.html)
- 利用SAXフィルタの操作データ(http://www.ibm.com/developerworks/xml/library/x-tipsaxfilter/)
ますので、煩雑な実装されます。いてのみ使用SAXっpre-.NET が必要である高度なコーディングです。 この時点でプライベートビーチがありします。
興味深いコンセプトをハイブリッドパーサ
このスレッドを記述するハイブリッドパーサを使用します。純XmlTextReaderを実施するパーサを提供する組み合わせのDOMおよびSAX特典---
http://bytes.com/groups/net-xml/178403-xmltextreader-versus-dom
があると考えていない特典を利用SAX以上により、二つの理由:
- サックスに"push"のモデルをXmlReaderがプパーサによる 多数の特典.
- に依存すること、3-サードパーティ製ライブラリによります。純APIに含まれています。
個人的にはもっとも好のサックスモデルとしてのXmlReaderは本当に迷惑トラップを引き起こすことが可能なバーコードを引き起こす可能性のあるコードをスキップです。最コードが構造化されたが(rdr.Read())モデルがありますが、まず"ReadString"または"ReadInnerXml()"そのループに自分自身を見つけるでしょう欠の要素になります。
としてのSAXイベントに基づく本のないhapenとはできませんを行う一切の動作が不適切と判断するパーサお求めます。
私の個人的な感じであるとのマイクロソフト社にとっての考えはXmlReaderがりについての説明からスタープッシュ/プルモデルなんですが、購入します。でMicrosoftていただけると思いますな成する必要がある状態-機XmlReaderとなるのは意味のあることでしょう、しかし、いずれにしても、だと思います。