read parse clean java android html xml-parsing stringbuffer

parse - load html java



eliminar etiqueta html en android (5)

Tengo el siguiente seguimiento de XML:

<Description> <p>Touch, tap, flip, slide! You don&#39;t just read Books, you experience it.</p> </Description>

Aquí tengo que mostrar la descripción como

Toca, toca, voltea, desliza! Tú no 39. solo lees los Libros, lo experimentas.

Aquí he manejado el analizador como:

public static String removeHTML(String htmlString) { // Remove HTML tag from java String String noHTMLString = htmlString.replaceAll("//<.*?//>", ""); // Remove Carriage return from java String noHTMLString = noHTMLString.replaceAll("/r", "<br/>"); noHTMLString = noHTMLString.replaceAll("<([bip])>.*?<//1>", ""); // Remove New line from java string and replace html break noHTMLString = noHTMLString.replaceAll("/n", " "); noHTMLString = noHTMLString.replaceAll("/"", "&quot;"); noHTMLString = noHTMLString.replaceAll("<(.*?)//>"," ");//Removes all items in brackets noHTMLString = noHTMLString.replaceAll("<(.*?)///n"," ");//Must be undeneath noHTMLString = noHTMLString.replaceFirst("(.*?)//>", " "); noHTMLString = noHTMLString.replaceAll("&nbsp;"," "); noHTMLString = noHTMLString.replaceAll("&amp;"," "); return noHTMLString; }

En endElement:

public void endElement(String uri, String localName, String qName)throws SAXException { currentElement = false; if (localName.equalsIgnoreCase("Description")){ sitesList.setDescription(currentValue); String Sub_arry=n+currentValue; Appscontent.Sub_arraylistdes.add(Sub_arry); String stringWithoutHTML=removeHTML(currentValue); System.out.println("description value----->"+n+att_ID+"------>>"+stringWithoutHTML);}

Ahora tengo que ejecutar la aplicación significa que la etiqueta html se muestra con mi descripción ... Aquí, ¿cómo puedo eliminar la etiqueta HTML? por favor, dame una solución para estos?

Deseo mostrar la descripción sin etiquetas Html ... proporcione una solución para estos.

EDITAR:

if (localName.equalsIgnoreCase("Description")){ sitesList.setDescription(currentValue); String Sub_arry=n+currentValue; StringBuffer sb = new StringBuffer(); sb.append(Sub_arry); String newString = sb.toString(); Appscontent.Sub_arraylistdes.add(newString); System.out.println("description value----->"+n+att_ID+"------>>"+newString);}

EDITAR:

public static String html2text(String html) { return Jsoup.parse(html).text(); }

En endElement:

if (localName.equalsIgnoreCase("Description")){ sitesList.setDescription(currentValue); String Sub_arry=n+currentValue; Appscontent.Sub_arraylistdes.add(Sub_arry); String stringWithoutHTML=html2text(currentValue); System.out.println("description value----->"+n+att_ID+"------>>"+stringWithoutHTML);}

Pero no obtuve el o / p..pls darme una solución para estos ??? ¿Cómo puedo eliminar las etiquetas html en esta descripción ...



Una opción es agregar la biblioteca JSoup , importarla y usarla de la siguiente manera:

public static String html2text(String html) { return Jsoup.parse(html).text(); }


Puede eliminar fácilmente cualquier etiqueta HTML en Android utilizando la clase de HTML incorporada en Android. Importar android.text.Html; . Ahora, teniendo en cuenta que "data" es su variable String que tiene etiquetas HTML, usa Html.fromHtml(data).toString() para recuperar la cadena sin etiquetas HTML.


String plain = Html.fromHtml("your_html_string").toString();


Método simple para eliminar html Esto devolverá texto con formato no html

private String removeHtml(String html) { html = html.replaceAll("<(.*?)//>"," "); html = html.replaceAll("<(.*?)///n"," "); html = html.replaceFirst("(.*?)//>", " "); html = html.replaceAll("&nbsp;"," "); html = html.replaceAll("&amp;"," "); return html; }

Para formatear según etiqueta html y eliminar etiqueta.

Html.fromHtml(data).toString();