1

巨大な xml ファイルを読み取る必要がある Linux 用の小さなスタンドアロン ツールを作成しています。

xml ファイルの構造は単純で、プログレッシブまたはストリーミング (行単位) のパーサーが適しています。

TinyXML などの軽量クラス ライブラリを使用したいのですが、それがプログレッシブ解析をサポートしているかどうかわかりません。

答えが「はい」の場合、サンプルはありますか? そして、答えが「いいえ」の場合、小さくてヘッダーのみのクラスライブラリである別の代替手段を知っていますか?

更新: RapidXML や pugiXML はどうですか?

4

1 に答える 1

5

libxml のXmlReader インターフェイスはまさにあなたが望むもののように思えます。高速、シンプル、ストリーミング。残念ながら、軽量と XML は混在しません。私は SAX のプッシュ モデルよりも XmlReader のプル モデルを好みますが、どちらも希望どおりに機能します。

プル モデルでは、関数を呼び出して新しいノードを取得し、一致するかどうかを自分で確認します。プッシュ モデルでは、コールバックを指定すると、SAX はそれらに一致するノードを見つけたときにコールバックを呼び出します。

最後に確認した TinyXML は、標準に準拠していません。

于 2012-11-04T15:30:48.217 に答える