我必须对 libxml2 使用 xsd(模式)验证,我可以为错误处理设置回调,用于模式验证错误,使用:xmlSchemaSetValidErrors()。
但在进行模式验证之前,我必须解析我的 xml,以获取 xmlDocPtr,例如使用 xmlParseMemory。但是:如果 xml 无效,如何设置错误处理程序以获取这些错误?(我不希望它们被打印到 stderr)我没有为解析函数找到类似于 xmlSchemaSetValidErrors 的函数。
您可以使用xmlSetStructuredErrorFunc
和xmlSetGenericErrorFunc
。这些全局设置错误回调,因为正如您所指出的,此时不会有任何 xmlDocPtr 上下文。