Есть ли способ заставить NHibernate выдавать подсказку о взаимной блокировке? например, для SQL-сервера "SET
m загружая веб-страницу, я также обратил внимание на UIWebView
. Похоже, UIWebView
может подойти. stringByEvaluatingJavaScriptFromString:
кажется очень удобным способом извлечения данных и позволяет сохранять javascript в отдельном файле, который можно было бы легко редактировать, если бы HTML изменился. Однако использование UIWebView
кажется немного хакерским (поскольку UIWebView
является подклассом UIView
, он может блокировать основной поток, а в документах говорится, что в javascript есть предел в 10 МБ).
Есть ли у кого-нибудь совет относительно синтаксического анализа XML / HTML, прежде чем я застряну?
ОБНОВЛЕНИЕ:
Я написал сообщение в блоге о своем решении: Разбор HTML / очистка экрана в iOS
Анализ HTML с помощью синтаксического анализатора XML обычно не работает, потому что многие сайты имеют неправильный HTML, с которым будет работать веб-браузер, но строгий синтаксический анализатор XML, такой как NSXMLParser
, полностью не сработает.
Для многих языков сценариев существуют отличные библиотеки парсинга, которые более милосердны. Как модуль Python Beautiful Soup. К сожалению, я не знаю таких модулей для Objective-C.
Загрузка материала в UIWebView
может быть самым простым способом сделать это. Обратите внимание, что вам не нужно выводить UIWebView
на экран. Вы можете создать отдельный UIWindow
и добавить к нему UIWebView
, чтобы выполнять полную визуализацию вне экрана. Думаю, об этом было видео на WWDC2009. Как вы уже упоминали, он не будет легким.
В зависимости от того, какие данные вам нужны, и от сложности страниц, которые вам нужно проанализировать, вы также можете проанализировать их с помощью регулярных выражений или даже рукописного синтаксического анализатора. Я делал это много раз, и для простых данных это хорошо работает.