我使用libxml解析器进行快速下载和显示。我的问题是在某些情况下我需要在处理时停止解析器。有可能吗?你能告诉我这个吗?
提前致谢, Sekhar Bethalam。
答案 0 :(得分:5)
SAX2 / libxml2 API具有xmlStopParser
- 函数,在这种情况下可能很有用。
在文档中指定为void xmlStopParser(xmlParserCtxtPtr context)
。
文档可在此处获得: http://xmlsoft.org/html/libxml-parser.html#xmlStopParser
答案 1 :(得分:0)
如果您正在使用SAX推送界面(使用xmlCreatePushParserCtxt()
创建),您可以以某种方式向您希望中止的控制代码发出信号,并且可以停止调用xmlParseChunk()
。通过这种方式,您可以在当前“块”结束时停止解析。
如果你需要立即中止,你可以通过在回调中抛出异常来实现它。