0

私が知る限り、Qt で C++ を使用して XML ファイルを解析する方法は 4 つあります。

QDom
QSax
QXMLStreamReader
QXMLQuery

ファイル内で特定の属性を持つノードを検索し、見つかった場合は解析を中止し、ファイル名をリストに保存して次のファイルを解析します。私は QDom を使用してそれを達成しましたが、それぞれ約 400 行で最大 10k ファイルを検索するためです。それらをすべて解析するには時間がかかります。

私の質問は、このさまざまなアプローチのパフォーマンスについて知っている人はいますか? または、そのようなプログラムのパフォーマンスを向上させるためのヒントがあれば教えてください。

どんな情報でもありがたいです!

4

1 に答える 1

2

xml ファイルからツリー構造を取得できない場合は、QXMLStremReader を使用してください。

QXmlStreamReader は、Qt で XML を読み取るための最速かつ最も簡単な方法です。パーサーは段階的に動作するため、XML ドキュメント内の特定のタグのすべての出現箇所を検索したり、メモリに収まらない可能性がある非常に大きなファイルを読み取ったり、XML ドキュメントのコンテンツを反映するようにカスタム データ構造を設定したりする場合に特に役立ちます。

于 2012-10-18T08:33:08.630 に答える