Разбор 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, если вам это нужно.