我必须在我的c ++代码中使用libxml,出于某种原因,我的程序正在使用sax方法解析xml文件。有没有办法在解析时处理错误或异常?提前感谢。
答案 0 :(得分:1)
您可以编写自己的错误处理程序,如下所示:
static void my_error(void *user_data, const char *msg, ...) {
va_list args;
va_start(args, msg);
g_logv("XML", G_LOG_LEVEL_CRITICAL, msg, args);
va_end(args);
}
static void my_fatalError(void *user_data, const char *msg, ...) {
va_list args;
va_start(args, msg);
g_logv("XML", G_LOG_LEVEL_ERROR, msg, args);
va_end(args);
}
(来自here的例子)
使用xmlSetGenericErrorFunc
和xmlSetStructuredErrorFunc
注册它们。
没有上下文的注册示例:
xmlSetGenericErrorFunc(NULL, my_fatalError);