如何处理libxml2解析器错误

时间:2013-03-12 15:34:06

标签: c libxml2

我必须对libxml2使用xsd(schema)验证,我可以使用以下命令为模式验证错误设置错误处理的回调:xmlSchemaSetValidErrors()。

但在进入模式验证之前,我必须解析我的xml,以获取xmlDocPtr,例如使用xmlParseMemory。但是:如果xml无效怎么办,如何设置错误处理程序来获取这些错误呢? (我不希望它们被打印到stderr)我没有为解析函数找到类似于xmlSchemaSetValidErrors的函数。

1 个答案:

答案 0 :(得分:4)

您可以使用xmlSetStructuredErrorFuncxmlSetGenericErrorFunc。这些设置错误回调是全局的,因为正如您所指出的那样,此时不会有任何xmlDocPtr上下文。

http://www.xmlsoft.org/html/libxml-xmlerror.html