gpt4 book ai didi

java - 为什么 Android 解析 XML 不正确?

转载 作者:行者123 更新时间:2023-12-01 15:13:08 24 4
gpt4 key购买 nike

我正在为我的一个客户编写一个 Android 应用程序,该应用程序将显示他的 RSS 提要。他有 2 个不同的提要。其中之一可以与我使用示例编写的代码完美配合。当我用他的第二个提要替换 URL 时,我到处都会出现随机换行符(特别是在左括号 < 之后,在右括号 < 之前)。

这是工作源的链接 - http://prgk.ca/wD

这里的 rss feed 似乎无法使用相同的代码正确解析 - http://prgk.ca/ps

<小时/>

这是来自 logcat 的示例。您可以看到每个 < 和 > 出于某种原因也会换行......

08-19 09:43:46.444: I/RSSReader(6045): Get the Android App to  know when your advisor is available!
08-19 09:43:46.444: I/RSSReader(6045): http://www.keen.com/CommunityServer/UserBlogPosts/r00tman/Get-the-Android-App-to--know-when-your-
08-19 09:43:46.452: I/RSSReader(6045): advisor-is-available/624194.aspx
08-19 09:43:46.452: I/RSSReader(6045): Thu, 16 Aug 2012 19:39:00 GMT
08-19 09:43:46.452: I/RSSReader(6045): 8ca05964-da1c-4176-9dbc-9d0bc609bb83:624194
08-19 09:43:46.452: I/RSSReader(6045): r00tman
08-19 09:43:46.452: I/RSSReader(6045): 0
08-19 09:43:46.452: I/RSSReader(6045): http://www.keen.com/CommunityServer/blogs/642011/comments/624194.aspx
08-19 09:43:46.452: I/RSSReader(6045): http://www.keen.com/CommunityServer/blogs/642011/commentrss.aspx?PostID=624194
08-19 09:43:46.452: I/RSSReader(6045): http://www.keen.com/CommunityServer/blogs/rsscomments/624194.aspx
08-19 09:43:46.452: I/RSSReader(6045): <
08-19 09:43:46.452: I/RSSReader(6045): a href="http://majesticvision.com/downloads/android/love-tarot.apk"
08-19 09:43:46.452: I/RSSReader(6045): >
08-19 09:43:46.452: I/RSSReader(6045): <
08-19 09:43:46.452: I/RSSReader(6045): img src="http://www.majesticvision.com/keen/2012-08-16_App-Shot.png" height="75" width="385" /
08-19 09:43:46.460: I/RSSReader(6045): >
08-19 09:43:46.460: I/RSSReader(6045): <
08-19 09:43:46.460: I/RSSReader(6045): /a
08-19 09:43:46.460: I/RSSReader(6045): >
08-19 09:43:46.460: I/RSSReader(6045): <
08-19 09:43:46.460: I/RSSReader(6045): br /
08-19 09:43:46.460: I/RSSReader(6045): >
08-19 09:43:46.460: I/RSSReader(6045): <
08-19 09:43:46.460: I/RSSReader(6045): br /
08-19 09:43:46.460: I/RSSReader(6045): >
<小时/>

这是显示问题的屏幕截图。在这个特定的例子中, 标签中的 URL 在一个奇怪的地方被分割,因此 URL 的一部分丢失了,而我从 标签中得到的只是“< “当应该有整篇文章时

Phone Screenshot

最佳答案

我最终解决了这个问题。在我的 RSSHandler 类中,我注释掉了重置状态的部分

public void characters(char ch[], int start, int length) {
String theString = new String(ch, start, length);

switch (currentstate) {
case RSS_TITLE:
_item.setTitle(theString);
// currentstate = 0;
break;
case RSS_LINK:
_item.setLink(theString);
// currentstate = 0;
break;
case RSS_DESCRIPTION:
_item.setDescription(theString);
// currentstate = 0;
break;
case RSS_CATEGORY:
_item.setCategory(theString);
// currentstate = 0;
break;
case RSS_PUBDATE:
_item.setPubDate(theString);
// currentstate = 0;
break;
default:
return;
}

然后在我的 RSSitem 类中,我将字符串添加到自身,而不是每次都重置它

void setDescription(String description) {
_description = _description + Html.fromHtml(description).toString();
}

这可能不是最好的解决方案,但它最终对我来说完美地工作了!

关于java - 为什么 Android 解析 XML 不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12027268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com