4

以下の XML フィードがあります。

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

ここでは、次のような説明を表示する必要があります

タッチ、タップ、フリップ、スライド!あなたは本を読むだけでなく、それを体験します。

ここでは、パーサーを次のように処理しました。

   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;

    }

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);}

アプリを実行する必要があるということは、html タグが説明とともに表示されることを意味します...ここで、HTML タグを削除するにはどうすればよいですか? これらの解決策を教えてください???

Html タグなしで説明を表示したい...これらの解決策を提供してください。

編集:

    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);}

編集:

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

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);}

しかし、私はo/p..plsがこれらの解決策を提供してくれませんでした??? これらの説明の html タグを削除するにはどうすればよいですか...

4

8 に答える 8

2

1 つのオプションは、JSoupライブラリを追加してインポートし、次のように使用することです。

public static String html2text(String html) {
return Jsoup.parse(html).text();
}
于 2013-03-04T07:20:06.410 に答える
2
String plain = Html.fromHtml("your_html_string").toString();
于 2014-03-17T04:04:38.013 に答える
0

私の知る限り、スパン可能なインターフェイスでデータを取得できます。

これを使用してみてください:

スパンされた spannable = Html.fromHtml(arrayList.get(position).getBusinessDescription());
System.out.println("説明値----->"+n+att_ID+"------>>"+スパン可能);

詳細については、以下のリンクを確認してください。

http://developer.android.com/reference/android/text/Spanned.html http://developer.android.com/reference/android/text/Spannable.html

于 2013-03-04T07:58:22.860 に答える