4

私は以前に XML 解析を行ったことがありますが、大規模ではありませんでした。この形式に似た多くのドキュメントを扱っている場合:

<?xml version="1.0" ?>
<items comment="something...">
  <uid>6523453</uid>
  <uid>94593453</uid>
</items>

これらのドキュメントを解析する最速の方法は何ですか?
1) XML DOM
2) XML シリアライズ - .NET オブジェクトに再水和
3) その他の方法

更新
平均で約 8000 個の uid 要素があることを忘れていました。

4

3 に答える 3

4

XmlReaderもちろん、すべての解析を手動で行う必要がありますが、使用するのが間違いなく最も速い方法です。DOMと比較して使用するのはあまり便利ではありませんが、何もキャッシュせずにストリームから直接読み取ります。

あなたが提案した2つを比較してください:シリアル化はDOMを使用するよりも速いはずです(私は信じています)それはメモリ内にツリー全体をキャッシュしないので-あなたが特にシリアル化を実行することを目指しているなら、それは確かに使いやすいインターフェースを持っています。

于 2009-05-27T23:57:32.583 に答える
2

私は、Xml シリアライゼーションが両方の長所を持っていると思います。使いやすさだけでなく、優れた速度も得られます。xml シリアライゼーションには追加のオーバーヘッドがあります...ただし、XmlReader を手動で使用した場合、そのリーダーを使用してオブジェクト グラフを再作成するときに、少なくともそのオーバーヘッドを自分で複製します。

于 2009-05-28T00:09:24.713 に答える