Analizar HTML en Android
Estoy intentando analizar el HTML para los datos específicos pero estoy teniendo problemas con los caracteres de la vuelta, por lo menos pienso que ése es cuál es el problema. Estoy utilizando un método de subcadena simple para desmontar el HTML como sé de antemano lo que estoy buscando.
Aquí está mi método de análisis:
- Compruebe si se ha interrumpido la descarga de archivos
- Android - los cálculos con el tiempo transcurrido en el cronómetro
- Problemas con https (sin certificado de igual) en android
- ¿Cómo puedo manejar los cambios de orientación de la pantalla cuando un diálogo está abierto?
- Android Expandible RecyclerView diferente Altura de la tarjeta
public static void parse(String response, String[] hashItem, String[][] startEnd) throws Exception { for (i = 0; i < hashItem.length; i++) { part = response.substring(response.indexOf(startEnd[i][0]) + startEnd[i][0].length()); value = part.substring(0, part.indexOf(startEnd[i][1])); DATABASE.setHash(hashItem[i], value); } }
Aquí hay una muestra del código HTML que me está dando problemas
<table cellspacing=0 cellpadding=2 class=smallfont> <tr onclick="lu();" onmouseover="style.cursor='hand'"> <td class=bodybox nowrap> 21,773,177,147 $ </td><td></td> <td class=bodybox nowrap> 629,991,926 F </td><td></td> <td class=bodybox nowrap> 24,537 P </td><td></td> <td class=bodybox nowrap> 0 T </td> <td></td><td class=bodybox nowrap> RT </td>
Hay caracteres de retorno ocultos, pero cuando intento agregarlos en la cadena que estoy tratando de usar no funciona bien, si es que lo hago. ¿Hay un método o quizás una mejor manera de quitar los caracteres ocultos del HTML para que sea más fácil de analizar? Cualquier ayuda es muy apreciada como siempre.
- ¿Existe una sofisticada API Java WorkQueue?
- Android FragmentActivity devuelve null en getActionBar ()
- Singletons no disponibles cuando la aplicación vuelve a la memoria
- Android nunca recibe paquetes UDP
- ¿Hay una función en Android análoga a "int main" en C / C ++ que contiene el bucle principal del programa?
- Uso de AccountAuthenticator personalizado con múltiples aplicaciones
- Android - Fade in / Fade out ActionBar Artículo cuando mostrar / ocultarlo
- Android Almacenamiento interno VS Preferencias compartidas
Trate de usar un regex para obtener la información que desea: http://java.sun.com/developer/technicalArticles/releases/1.4regex/
Usted podría incluso utilizarlo para quitar los caracteres ocultados. O tal vez utilizar String.Replace
para eliminar los caracteres de nueva línea?
Si quieres hacer el análisis muy fácil, prueba Jsoup :
Este ejemplo descargará la página, analizará y obtendrá el texto.
Document doc = Jsoup.connect("http://jsoup.org").get(); Elements tds = doc.select("td.bodybox"); for (Element td : tds) { String tdText = td.text(); }
Puedes probar con XMLPullParser
disponible en Android. Puede utilizar StringBuffer
para añadir caracteres entre las etiquetas.
Puede analizar el archivo HTML utilizando un XMLReader por ejemplo hasta donde yo sé, consulte este artículo http://www.ibm.com/developerworks/xml/library/x-andbene1/