2

GTK アプリケーションではxmlParseFile()、libxml2 から使用しています。ただし、その関数はローカル ファイルしか読み取ることができません。リモートファイルも読み取れるように、代わりに GIO フレームワークを使用するにはどうすればよいですか?

最も簡単な方法は、おそらくg_file_load_contents()ファイル全体をメモリに読み込み、それxmlParseMemory()を解析するために呼び出します。ただし、理想的にはデータをストリーミングする「より優れた」ソリューションを探しています(データ全体をメモリに保持しないようにするため)。おそらくGInputStreamlibxml2に接続することによって?

コード例を歓迎します。これは一般的な使用例だと思うので、ここで適切な実装の完全なリストを収集すると役立つ場合があります。

4

1 に答える 1

2

libxml2 Webサイトに、ファイルからチャンクごとにXMLデータを解析する方法に関する説明(コード例を含む)があります:http://xmlsoft.org/library.html#Invoking1

使用したい場合は、libxml2ドキュメントのサンプルプログラムと同じ方法でチャンクをフィードするためにGInputStream使用できます。g_input_stream_read()xmlParseChunk()

于 2011-06-26T08:12:56.850 に答える