Как вы можете разобрать HTML в Android? - PullRequest
5 голосов
/ 19 августа 2011

Я делаю приложение для Android, и элемент функциональности приложения заключается в возвращении результатов онлайн-поиска в каталоге библиотеки.Прикладная программа должна отображать результаты поиска, который выполняется посредством пользовательской HTML-формы, в соответствии с остальной частью приложения.Т.е. результаты поиска нужно проанализировать и отобразить полезные элементы.Мне было просто интересно, если / как это может быть достигнуто в Android?

Ответы [ 3 ]

15 голосов
/ 19 августа 2011

Вы бы использовали Html Parser.Тот, который я использую и ОЧЕНЬ хорошо работает, это JSoup . Здесь вам нужно начать с анализа html.Также Apache Jericho является еще одним хорошим.

Вы можете получить html-документ с помощью DOM и использовать метод JSOUP Select (), чтобы выбрать любые теги, которые вы хотите получить.Либо по тегу, идентификатору или классу.

Решение

Use the: Jsoup.connect(String url) method:

 Document doc = Jsoup.connect("http://example.com/").get();

Это позволит вам подключиться к html-странице с помощью URL-адреса.И сохраните его как Документ документа, Через DOM.И чтение из него с помощью метода selector ().

Описание

Метод connect (String url) создает новое Connection и get ()извлекает и анализирует HTML-файлЕсли при получении URL-адреса возникает ошибка, она создает исключение IOException, которое вы должны обработать соответствующим образом.

Интерфейс подключения предназначен для создания цепочки методов для создания определенных запросов:

 Document doc = Jsoup.connect("http://example.com")

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

РЕДАКТИРОВАТЬ: Вот как вы могли бы использовать метод выбораиспользуйте это, чтобы получить атрибуты, текст,

Document doc = Jsoup.connect("http://example.com")
Element link = doc.select("a").first();

String text = doc.body().text(); // "An example link"
String linkHref = link.attr("href"); // "http://example.com/"
String linkText = link.text(); // "example""

String linkOuterH = link.outerHtml(); 
// "<a href="http://example.com"><b>example</b></a>"
String linkInnerH = link.html(); // "<b>example</b>"
4 голосов
/ 19 августа 2011

Вы можете использовать XmlPullParser для анализа XML.

Например, обратитесь к http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html

0 голосов
/ 19 августа 2011

Поскольку результаты поиска представляют собой HTML, а HTML является языком разметки (ML), вы можете использовать Android XmlPullParser для анализа результатов.

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