在ANDROID中显示来自XML的HTML

时间:2013-01-18 21:34:58

标签: android html xml xml-parsing

我有小问题..

我创建的应用程序可以获取xml中的rss feed 一切都很完美,直到我尝试将XML中的字符串显示为HTML ..

    <content:encoded>
<![CDATA[
<p><b>Boris Petrović, jedan od finalista trenutno najpopularnijeg muzičkog šoua u Srbiji  &#8211; Prvog glasa Srbije, nije mogao ni da pretpostavi da će mu samo dan nakon što su mediji u Srbiji preneli  njegovu izjavu </b><strong>“Ako jednog dana skupim pare, možda me Aleksandra Radović primi u njenu školu“ – popularna pevačica ostvariti želju.</strong> Radovićeva je danas prijatno iznenadila i Borisa i njegove fanove kada mu je na društvenoj mreži Twitter poželela dobrodošlicu u njenu školu pevanja koja važi za jednu od najboljih u Srbiji.</p> <p style="text-align: center;"><img class="aligncenter wp-image-23370" alt="Boris" src="http://www.ilovezrenjanin.com/wp-content/uploads/2013/01/Boris.png" width="448" height="286" /></p> <p>Nakon ispadanja iz takmičenja, popularna pevačica i članica žirija, pozvala je u svoju školu Zorana Stanića koji je te večeri bio Borisov „rival“. Postupak je ovog mladog Žitištanina, kako je i sam kasnije izjavljivao, pomalo revoltirao s obzirom da je i on imao želju da radi na svom glasu i dovede ga do savršenstva.</p> <p><img class="aligncenter size-full wp-image-23371" alt="boris" src="http://www.ilovezrenjanin.com/wp-content/uploads/2013/01/boris.jpg" width="455" height="279" /></p> <p style="text-align: center;"><strong>Ostvarila mu se želja &#8211; Boris Petrović na sceni</strong></p> <p>Posle današnjeg prijatnog gesta pevačice, može se očekivati da Borisa tek očekuju sjajne mogućnosti s obzirom da je u Prvom glasu Srbije bio jedan od retkih koji nije prošao ni jedan čas profesionalnog pevanja.</p> <p><strong>Radovićeva je najavila Borisu da 1. marta – počinju časovi!</strong></p>
]]>

没有代码和段落中的图像强烈...等等。

如何让我的应用程序对CDATA进行编码并显示HTML .. 如何让它看起来不错..

这是我的SINGLEITEM活动,我需要显示html ..

    static final String KEY_TITLE = "title";
    static final String KEY_DESCRIPTION = "description";


    // XML node keys


public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.single_menu_item);


         // getting intent data
            Intent in = getIntent();

            // Get XML values from previous intent
            String title = in.getStringExtra(KEY_TITLE);
            String description = in.getStringExtra(KEY_DESCRIPTION);

            //String link = in.getStringExtra(KEY_LINK);
           // String description = in.getStringExtra(KEY_DESCRIPTION);

            // Displaying all values on the screen
            TextView lblTitle = (TextView) findViewById(R.id.txtTitle);
            //TextView lblLink = (TextView) findViewById(R.id.link_label);
            TextView lblDesc = (TextView) findViewById(R.id.txtDescription);



            lblTitle.setText(title);
            //lblLink.setText(link);
            lblDesc.setText(Html.fromHtml(description));

        }
    }

那么我现在需要做什么才能把这个节目当成HTML ... ??? 谢谢

1 个答案:

答案 0 :(得分:0)

一种方法是将TextView更改为WebView。您可以将WebView放在标题TextView下面。

我有一个通用的帮助活动。我在HTML编辑器中创建帮助文件并将其加载到原始文件。您可以使用活动构建的HTML:

    setContentView(R.layout.helpactivity);
    helpWebView = (WebView) findViewById(R.id.helpWebView);

    Bundle extras = getIntent().getExtras();
    int helpId = extras.getInt(GC.HELP_FILE_ID);

    htmlString = readRawTextFile(getApplicationContext(), helpId);
    helpWebView.loadData(htmlString, "text/html", null);

readRawTextFile是一个检索相应HTML文件并将其加载到字符串中的函数。您可以将其更改为

htmlString = in.getStringExtra(KEY_DESCRIPTION);