【问题标题】:Android: Parsing XML file which contain Html Entities, Html Characters and URL Addresses?Android:解析包含 Html 实体、Html 字符和 URL 地址的 XML 文件?
【发布时间】:2012-07-24 10:32:46
【问题描述】:

我正在尝试解析 XML 文件(RSS 提要),但我遇到了一个问题,即 xml 文件包含 HTML 实体字符,当我将其转换为字符串时它没有出现,我不知道如何编码:

public String getXmlFromUrl(String url) {
    String xml = null;
    try {
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);
        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();

        xml = EntityUtils.toString(httpEntity, HTTP.UTF_8);

    } catch (UnsupportedEncodingException e) {} 
    catch (ClientProtocolException e) {} 
    catch (IOException e) {}

例如:这是我想在我的 java 代码中得到的文本

<description>
     Amman Post: Shath'a Hasson pointed on the reason about &nbsp .... .... ...
</description>

但是在字符串中我丢失了这个字符 &nbsp 之后的所有文本

当我试图解析一个 URL 地址时:

http://www.ammanpost.net/index.php?page=article&id=25981

我在字符串中得到的是这样的:

http://www.ammanpost.net/index.php?page=article

'&' 字符之后的所有内容都丢失了。

你能帮帮我吗? 谢谢。

【问题讨论】:

  • 解析器不支持解析特殊字符...
  • @SudiptaforAndroid 有什么解决方案??我至少不能解析 URL 吗?
  • 请您的服务器开发人员删除特殊字符...
  • @SudiptaforAndroid 怎么样 URL 地址 T__T 服务器开发者无法控制!
  • 给我xml代码中绑定的url地址

标签: android xml-parsing url-encoding html-encode domparser


【解决方案1】:

我的应用程序也有问题,我设法用Html class 解决了它 像这样:

Html.fromHtml(string); 

对于网址问题,请查看URLDecoder class

【讨论】:

  • HTML.fromHtml(string);这将返回 Spanned 对象并使用 DOM 解析器,因此我可以解析解析器本身的问题,String x = parser.getValue(e, "description");当我打印 xml 文件时一切正常,但是当我得到一个节点值时它得到错误的值??
猜你喜欢
  • 1970-01-01
  • 2014-09-12
  • 1970-01-01
  • 2019-09-26
  • 2013-01-22
  • 2020-03-10
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
相关资源
最近更新 更多