Intereting Posts
Как проверить, разрешено ли разрешение «android.permission.PACKAGE_USAGE_STATS»? Могу ли я редактировать файлы внутри оболочки Android (оболочка adb) Приложение Android ClassNotFoundException, Невозможно создать экземпляр приложения Android, могу ли я поместить AsyncTask в отдельный класс и иметь обратный вызов? Как сбросить фоновый цвет кнопки по умолчанию? Сохранить выбранное состояние кнопки Android Изображение не является силой 2? Как увеличить производительность растрового рисунка на Android Рабочий многоточечный запрос POST с волейболом и без HttpEntity Инициализировать MapFragment программно с помощью Maps API v2 Аргумент типа обобщенного метода Java Как ограничить доступ к моему REST API только авторизованным клиентам? Как обрабатывать разницу в часовых поясах между сервером и встроенным приложением для Android? Класс Imageloader создает папку lazylist в галерее. Как этого избежать Как закодировать строку с Base64 в Android?

Разбор HTML в Android

Я пытаюсь разобрать HTML в android с веб-страницы, и поскольку веб-страница не очень хорошо сформирована, я получаю SAXException .

Есть ли способ разбора HTML в Android?

Solutions Collecting From Web of "Разбор HTML в Android"

Я просто столкнулся с этой проблемой. Я попробовал несколько вещей, но решил использовать JSoup . Банку около 132k, что немного больше, но если вы загрузите источник и вытащите некоторые из методов, которые вы не будете использовать, то это не так уж и много.
=> Хорошо, что он будет обрабатывать плохо сформированный HTML

Вот хороший пример с их сайта.

 File input = new File("/tmp/input.html"); Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/"); //http://jsoup.org/cookbook/input/load-document-from-url //Document doc = Jsoup.connect("http://example.com/").get(); Element content = doc.getElementById("content"); Elements links = content.getElementsByTag("a"); for (Element link : links) { String linkHref = link.attr("href"); String linkText = link.text(); } 

Вы пытались использовать Html.fromHtml (источник) ?

Я считаю, что класс довольно либеральен в отношении качества исходного кода (он использует TagSoup внутренне, который был разработан с учетом реального, плохого HTML). Тем не менее, он не поддерживает все теги HTML, но в нем есть обработчик, который вы можете реализовать, чтобы реагировать на теги, которые он не понимает.

 String tmpHtml = "<html>a whole bunch of html stuff</html>"; String htmlTextStr = Html.fromHtml(tmpHtml).toString(); 

Возможно, вы можете использовать WebView, но, как вы можете видеть в документе, WebView по умолчанию не поддерживает javascript и другие вещи, такие как виджеты.

http://developer.android.com/reference/android/webkit/WebView.html

Я думаю, что вы можете включить javascript, если вам это нужно.