Каков наилучший способ очистить этот HTML-код для приложения для Android? - PullRequest
5 голосов
/ 19 сентября 2011

Каков наилучший способ удалить приведенный ниже HTML-код с веб-страницы? Я хочу вытащить Apple, Orange и Grape и поместить их в выпадающее меню в моем приложении для Android. Должен ли я использовать Jsoup для этого, и если это так, что будет лучшим способом сделать это? Должен ли я использовать Regex вместо этого?

<select name="fruit" id="fruit" >
<option value="APPLE">Apple</option>
<option value="ORANGE">Orange</option>
<option value="GRAPE">Grape</option>
</select>

Ответы [ 3 ]

14 голосов
/ 19 сентября 2011

Зависит, но я бы пошел с парсером XML / HTML. Не используйте регулярные выражения .

Пример с jsoup :

Document doc = Jsoup.connect(someUrl).get();
Elements options = doc.select("select#fruit option");

Подробнее о синтаксисе селектора jsoup .


Лучший способ?

Я бы выбрал встроенный синтаксический анализатор DOM или SAX . Если вы собираетесь анализировать большой документ, SAX работает быстрее. Если документ небольшой, то особой разницы нет. Подробнее о SAX против DOM .

2 голосов
/ 19 сентября 2011

Для разбора HTML вы можете использовать jsoup.Использование очень простое, а API великолепный.

http://jsoup.org/

Для меня это сработало отлично!

РЕДАКТИРОВАТЬ: слишком медленно: пост Skyuzo великолепен :)

1 голос
/ 19 сентября 2011

WebView - ваш друг:

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

Он позволяет вам использовать HTML как браузер, а затем вы можете с ним что-то делать.Обратите внимание, что он не принимает во внимание javascript, поэтому я надеюсь, что это простой html, у вас нет некоторого ajax-кода или сгенерированного js кода:)

...