私の例の1つ(JNIを使用したAndroid)でpugiXMLを使用しています。たとえば、中国語または日本語で書かれたXMLファイルを解析しようとしていますが、常に取得されます
case status_end_element_mismatch : 「開始タグと終了タグの不一致」を返します。ほとんどの場合、XML ファイルの近くまたは末尾のランダムな行にあります。
で解析結果を取得します
pugi::xml_document doc;
pugi::xml_parse_result result = doc.load(File._Buffer);
if (result){
__android_log_print(ANDROID_LOG_INFO, "MyExample", "XML [ %s ] ;parsed without errors, attr value:[ %s ] ",File._Buffer , doc.child("node").attribute("attr").value());
else {
__android_log_print(ANDROID_LOG_INFO, "MyExample", "Error description: %s" , result.description());
__android_log_print(ANDROID_LOG_INFO, "MyExample", "Error offset: %ul" , result.offset);
}
私の英語の XML は問題なく動作します。
さまざまなバリデーターを使用して XML ファイルをチェックしましたが、「手作業で行ごとに」チェックしたところ、タグが欠落しておらず、すべてのバリデーターが有効な XML ファイルであることを確認しました。
私のファイルは 1 mg 以下です。pugiXML を 9 mg 以上のファイルで成功裏に使用した人がいると読んだことがあるので、メモリの問題ではありません。
誰かがこの種の問題を抱えていましたか?誰かがいくつかの指針を持っている場合は?
ありがとうございました。