Android XML 富文本处理

Posted

技术标签:

【中文标题】Android XML 富文本处理【英文标题】:Android XML Rich Text Processing 【发布时间】:2011-11-16 05:55:46 【问题描述】:

我使用此处列出的教程来解析我的 XML:

http://android-er.blogspot.com/2010/05/simple-rss-reader-iii-show-details-once.html

我遇到的问题是,当我尝试读取 XML 描述标签时,我得到的只是:

“http://www.calvaryccm.com/rss/devos.ashx

请帮助我解决将真实文本纳入描述的问题。谢谢!

【问题讨论】:

【参考方案1】:

如果数据是 html 编码的,您可以使用以下方法之一 -- 或者如果它是未编码的,您可以将内容包围在 CDATA 标记中。

Spanned spannedContent = Html.fromHtml(htmlString);
textView.setText(spannedContent, BufferType.SPANNABLE);

WebView webview = (WebView) findViewById(R.id.aWebView);
String htmlString = "<html><body>Some html</body></html>";
webview.loadData(htmlString, "text/html", "utf-8");

【讨论】:

【参考方案2】:

我发现我需要将我的 RSS 标签包装在 CDATA 标签中,如下所示:

Writing input for .NET web services

【讨论】:

【参考方案3】:

我刚刚使用从上面列出的站点下载的代码在 Eclipse 中创建了一个 android 项目。我只对原始来源进行了一次修改。我将 AndroidRssReader.java 中的第 33 行更改为:

            URL rssUrl = new URL("http://www.calvaryccm.com/rss/devos.ashx");

Feed 可以正常加载和解析。

解析错误是您对原始来源进行更改的结果。

【讨论】:

应该发生的是单击链接(例如:将我们带回来),然后进入带有标题描述和链接的详细视图。问题在于详细视图而不是主视图。 如果您回过头来查看源代码来自很多人的博客文章,他们会离开 cmets 抱怨解析器不适用于富文本或 html 标记。我建议找另一个例子或联系原作者,看看他/她是否提出了解决办法。

以上是关于Android XML 富文本处理的主要内容,如果未能解决你的问题,请参考以下文章

Android中富文本用法包括点击事件处理

真·富文本编辑器的演进之路-富文本Span的边界探究

Qt中富文本处理

[iOS] 利用 NSAttributedString 进行富文本处理

Selenium+java - 关于富文本编辑器的处理

利用 NSAttributedString 进行富文本处理