Можно ли остановить синтаксический анализатор libxml во время работы процесса? - PullRequest
2 голосов
/ 27 сентября 2010

Я использую синтаксический анализатор libxml для быстрой загрузки и отображения. Моя проблема в некоторых случаях, когда мне нужно остановить анализатор во время его обработки. Возможно ли это сделать? Не могли бы вы, ребята, предложить мне это.

Спасибо заранее, Сехар Беталам.

Ответы [ 2 ]

5 голосов
/ 09 февраля 2011

API SAX2 / libxml2 имеет xmlStopParser -функцию, которая может быть полезна в этом случае.

Указано в документации как void xmlStopParser(xmlParserCtxtPtr context).

Документация доступна здесь:http://xmlsoft.org/html/libxml-parser.html#xmlStopParser

0 голосов
/ 27 сентября 2010

Если вы используете push-интерфейс SAX (созданный с помощью xmlCreatePushParserCtxt()), вы можете как-то сигнализировать управляющему коду, который вы хотите прервать, и он может прекратить вызов xmlParseChunk(). Таким образом, вы можете остановить анализ в конце текущего «чанка».

Если вам нужно немедленно прервать сеанс, вы, вероятно, сможете добиться этого, создав исключение в обратном вызове.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...