私の質問はこの未回答の質問と同じですか?
Rapidxml で Unicode XML 値を読み取る方法
しかし、XML のコンテンツは UTF-8 でエンコードされています。私は MS Visual Studio、C++ の初心者です。
私の質問は、UTF-8 文字列を wchar_t タイプの文字列に読み込むにはどうすればよいですか?
たとえば、次のような構造を定義します。
typedef struct{
vector<int> stroke_labels;
int stroke_count;
wchar_t* uni_val;
}WORD_DETAIL;
そして、xmlから値を読み取るときに使用します..
WORD_DETAIL this_detail;
this_detail.uni_val=curr_word->first_node("labelDesc")->first_node("annotationDetails")->first_node("codeSequence")->value();
しかし、格納されている utf-8 文字列は期待どおりではありません。それらは破損した文字です。
私の質問は次のとおりです。
- Rapidxml を使用して Unicode/Utf-8 値を読み取るにはどうすればよいですか?
- 同じことを行う単純な xml パーサーはありますか?
- サンプルコードは深く感謝します。
セクション2.1では、ここで言及されています
" RapidXml はデコードを実行しないことに注意してください - name() および value() 関数によって返される文字列には、ソース ファイルと同じエンコーディングを使用してエンコードされたテキストが含まれます。 "
XML のエンコーディングが UTF-8 の場合、 ->value() 関数の戻り値を取得する最良の方法は何ですか?
前もって感謝します。