2012-07-04 14 views
9

Tengo una aplicación para Android, que contiene una WebView, y me gustaría mostrar en ella no una página web, sino solo un div de esa página web. Debo mencionar que no tengo acceso a esa página.Cargar un div en una vista web en Android

¡Gracias!

+0

¿Hay cualquier respuesta que no incluyen, "utilizar esta biblioteca"? Parece demasiado exagerado importar una biblioteca completa para hacer un poquito de recorte. –

Respuesta

14

Recomendaría Jsoup. Es más grande que TagSoup pero proporciona una funcionalidad incorporada para extraer el HTML de la URL y es súper fácil de usar. Por ejemplo, si usted quiere tirar de un div con id example que haría lo siguiente:

Document doc = Jsoup.connect(url).get(); 
Elements ele = doc.select("div#example"); 

Luego de cargar el código HTML que haya extraído en su vista web que haría:

String html = ele.toString(); 
String mime = "text/html"; 
String encoding = "utf-8"; 
webView.loadData(html, mime, encoding); 
+0

esto funciona, obtengo el html, pero obtengo una página web no disponible en la vista web – maephisto

+0

No puedo darte mucho sin más información. Si obtiene el HTML, probablemente sea una URL válida. ¿Estás seguro de que estás haciendo 'loadData()' y no 'loadUrl()', y has intentado sacar el HTML para ver qué es? – alexgophermix

+0

Logré ponerlo en funcionamiento después de usar loadDataWithBaseURL. ¡Gracias! – maephisto

2

Deberá cargar el código HTML de la página usted mismo, extraer el contenido div y pasarlo a la WebView como una cadena. Puede encontrar una biblioteca de analizador HTML (por ejemplo, tagsoup) útil para esto.

+0

¡Gracias! ¿Podría darnos un ejemplo sobre este enfoque? – maephisto

Cuestiones relacionadas