【问题标题】:Howto handle libxml2 parser errors如何处理 libxml2 解析器错误
【发布时间】:2013-03-12 15:34:06
【问题描述】:

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

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

【问题讨论】:

    标签: c libxml2


    【解决方案1】:

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

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

    【讨论】:

    • 这回答了我的问题,谢谢杰森。我对这些函数的描述感到困惑它说:“将在解析或验证时调用后续错误消息”。
    • 我相信(不是 100% 肯定)是指它尚未解析或验证的情况,例如找不到文件。
    猜你喜欢
    • 2017-10-09
    • 2016-02-07
    • 1970-01-01
    • 2021-06-12
    • 2012-10-19
    • 2015-03-12
    • 1970-01-01
    • 2011-09-18
    • 2019-07-28
    相关资源
    最近更新 更多