¿Cómo se puede analizar HTML en android?
Estoy haciendo una aplicación para android, y un elemento de la funcionalidad de la aplicación es devolver los resultados de una búsqueda en línea del catálogo de una biblioteca. La aplicación debe mostrar los resultados de la búsqueda, que se realiza a través de un formulario HTML personalizado, de manera que se ajuste al resto de la aplicación. Es decir, los resultados de la búsqueda deben ser analizados y los elementos útiles se muestran. Me preguntaba si / cómo esto podría lograrse en android?
- Advertencia: Este <FrameLayout> se puede reemplazar con una etiqueta <merge>
- ImeOption = "actionNext" no funciona en TextInputLayout.
- ¿Cómo puedo analizar XML android?
- Frontera de elementos de listview en android
- Simple Xml - orden de elementos no conservados?
- Android TextView SingleLine campo oculta texto largo
- Mover EditText en NestedScrollView cuando aparece el teclado virtual
- Problema con el espacio en blanco de Android TabWidget
- Cómo configurar un diseño de menú principal en Android?
- cómo poner texto bajo vista de imagen
- Implementación de SeekBar simple en android
- ¿Cómo hacer la transición de la aplicación de Youtube en la búsqueda?
- Nombre de paquete alias o apodo
Puede utilizar XmlPullParser para analizar XML.
Por ejemplo, consulte http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html
Usted utilizaría un Analizador Html. Uno que yo uso y funciona muy bien es JSoup Aquí es donde tendrá que comenzar con el análisis de html. También Apache Jericó es otra buena.
Podría recuperar el documento html utilizando DOM y utilizar el método JSOUP Select () para seleccionar las etiquetas que desee obtener. Ya sea por etiqueta, id o clase.
Solución
Use the: Jsoup.connect(String url) method: Document doc = Jsoup.connect("http://example.com/").get();
Esto le permitirá conectarse a la página html utilizando la url. Y guárdelo como Document doc, a través de DOM. Y la lectura de él con el método selector ().
Descripción
El método connect (String url) crea una nueva Connection y get () busca y analiza un archivo HTML. Si se produce un error al buscar la URL, lanzará una IOException, que debe manejar adecuadamente.
La interfaz de conexión está diseñada para el encadenamiento de métodos para generar peticiones específicas:
Document doc = Jsoup.connect("http://example.com")
Si lees la documentación sobre Jsoup deberías ser capaz de lograr esto.
EDIT: Aquí está cómo usted utilizaría el método del selector
//Once the Document is retrieved above, use these selector methods to Extract the data you want by using the tags, id, or css class Elements links = doc.select("a[href]"); // a with href Elements pngs = doc.select("img[src$=.png]"); // img with src ending .png Element masthead = doc.select("div.masthead").first(); // div with class=masthead Elements resultLinks = doc.select("h3.r > a"); // direct a after h3
EDIT: Utilizando JSOUP puede utilizar esto para obtener atributos, texto,
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>"
Siendo que los resultados de búsqueda son HTML y HTML es un lenguaje de marcado (ML), puede utilizar XmlPullParser de Android para analizar los resultados.
- Haciendo una vista de texto que se puede hacer clic en android
- Android que convierte la cadena a la secuencia de la matriz