Разбор HTML на Android, основные проблемы с производительностью - PullRequest
3 голосов
/ 26 октября 2011

Мне нужно проанализировать около 100 КБ данных HTML, и это просто вызывает огромные проблемы с производительностью на Android. Я пробовал встроенный парсер XML и JTidy.

Встроенный синтаксический анализатор XML дает мне время синтаксического анализа около полсекунды, с которым я легко могу жить. Проблема в том, что плохая идея использовать синтаксический анализатор XML для разбора грязного HTML-кода, но это не вариант. (Я пробовал предварительную обработку, но он даже начал жаловаться на действительный HTML, так что ...)

Я немного погуглил, и JTidy предложили очистить код перед передачей его в анализатор XML. Это был настоящий кошмар, поскольку JTidy для предварительной обработки теперь занимает примерно 7 секунд .

Так что теперь моя единственная альтернатива - это регулярное выражение. Что ты думаешь?

1 Ответ

0 голосов
/ 26 октября 2011

Это зависит от того, являетесь ли вы владельцем html.

Если (как я понял) вы не являетесь владельцем html-данных и не можете влиять на то, как они отформатированы, то эта информация может оказаться полезной: Разбор HTML в Android Но если HTML действительно плохо, результат не может быть гарантирован.И вы бы предпочли работать с регулярным выражением.Даже браузеры переключаются в режим причуд при работе с «плохим» html без гарантии правильности просмотра.

...