1

次のようなメッセージからxmlを解析しようとしています:

char * data = message.c_str ();

文字列または文字配列データを使用して、xml ファイルを使用せずに xmlDoc を作成するにはどうすればよいですか?

4

2 に答える 2

4

TiXmlDocumentのParseメソッドでできると思います。次のようなものです:

TiXmlDocument doc;
doc.Parse((const char*)data, 0, TIXML_ENCODING_UTF8);
于 2011-05-19T18:32:40.133 に答える
2

std::istream& operator >> (std::istream& in, TiXmlNode& base);で定義されている関数を使用できますtinyxml.h

C++ スタイルの入力:

に基づくstd::istream operator>>

ストリームから XML を読み取り、ネットワーク転送に役立ちます。難しいのは、XML ドキュメントがいつ完成するかを知ることです。これは、ほぼ確実にストリーム内に他のデータが存在するためです。TinyXML は、ルート要素を読み取った後、XML データが完全であると想定します。別の言い方をすれば、複数のルート要素で構成されていない文書は正しく読み取れません。また、STL の実装と TinyXML の制限の両方により、operator>> は Parse よりもやや遅いことに注意してください。

于 2011-05-19T18:33:26.550 に答える