Java 使用SAX解析器进行Android XML解析

Java 使用SAX解析器进行Android XML解析,java,android,xml,xml-parsing,sax,Java,Android,Xml,Xml Parsing,Sax,我一直在尝试使用这里找到的SAX解析器解析这个()URL:我一直在研究如何处理XML中的描述标记。我尝试过使用CDATA标记和不使用CDATA标记,但似乎没有任何帮助。这几乎就像是链接被读入了描述 第一部分很好: 问题发生在我尝试访问内部页面时。这几乎就像是在读取描述标记之前读取了链接标记 我在正确显示描述标记时遇到问题。谢谢你的帮助 编辑此应用程序的完整源代码如下:哎哟,经过大约3个小时的挖掘和分析您的源代码,我发现了您产生上述奇怪结果的原因 首先查看您解析的链接中的RSS内容:http:

我一直在尝试使用这里找到的SAX解析器解析这个()URL:我一直在研究如何处理XML中的描述标记。我尝试过使用CDATA标记和不使用CDATA标记,但似乎没有任何帮助。这几乎就像是链接被读入了描述

第一部分很好:

问题发生在我尝试访问内部页面时。这几乎就像是在读取描述标记之前读取了链接标记

我在正确显示描述标记时遇到问题。谢谢你的帮助


编辑此应用程序的完整源代码如下:

哎哟,经过大约3个小时的挖掘和分析您的源代码,我发现了您产生上述奇怪结果的原因

首先查看您解析的链接中的RSS内容:
http://app.calvaryccm.com/mobile/android/v1/devos

其部分内容:


每日奉献
http://www.calvaryccm.com/resources/dailydevotions.aspx
加略山教堂墨尔本每日祈祷
webmaster@calvaryccm.com(墨尔本加略山教堂)
(c) 2011年,墨尔本加略山教堂。版权所有
60
b3e91cbf-bbe9-4667-bf4c-8ff831ba09f1
可教的时刻 基于&;ldquo;榜样,第4部分和;rdquo;马克·巴尔默牧师;10/8-9/11, 消息#6078;每日奉献#6-&;ldquo;可教的时刻&;rdquo;准备土壤(导言):我和丈夫认真对待我们对上帝的理解;rsquo;他指示我们把他的诫命教给我们的孩子。(申命记6:7)我们去了当地的基督教书店,买了儿童和儿童用品;rsquo;s圣经、书房、彩绘书、游戏和;mdash;任何有助于我们在他们的生活中传达圣经情况的东西。种植和浇灌种子(生长):每个父母都需要认真对待上帝和;rsquo;作物通信(行动/响应):生命是上帝&;rsquo;这是一间可供教学的教室。交通的长时间延误可能是令人沮丧的恼怒,也可能是一个让我们的孩子认识到上帝和上帝的机会;rsquo;他比我教的多。修行(补充阅读):诗篇78:1-8&;nbsp;诗篇145:4 墨尔本klw加略山教堂;明顿道2955号;西墨尔本,佛罗里达州32904;321-952-9673 NLT=新的活翻译。http://www.calvaryccm.com/resources/dailydevotions.aspx 2011年10月16日星期日格林尼治标准时间12:00:00

请密切关注此标签
/rss/channel/item/description
,您可以看到以下内容:或
'squo
&
ldquo
rdquo。。。这些是转义字符(左单引号、右单引号、符号AND、右双引号、左双引号……甚至是新行),它们驻留在XML内容中

所以当
XML解析器
遍历这些字符时,它会考虑退出解析,这会导致您现在面临的奇怪结果

解决方案呢?首先,我可以考虑先获取
URL
的内容,然后取消对这些字符的扫描(添加斜杠字符),现在我认为您可以再次成功解析它
这个解决方案似乎工作得很好,但我认为可能不行,因为来自服务器的RSS文本内容响应的格式非常奇怪(格式不好)。因此,如果您可以与此web管理员联系,请告诉他们在发布RSS订阅之前,对
RSS内容进行良好的格式化(例如添加斜杠以转义字符,删除所有新行字符…)

另一种解决方案是使用一些第三方来处理转义/取消转义的东西,例如
StringEscapeUtils
来自
apachecommons
:或
JTidy

但我不认为这些库在你的情况下工作得最好

我只能说这些


@p/s:只是对源代码的一些注释,我认为您需要考虑使代码清晰易读,便于维护,并适当地重新打包

您是否使用了与示例相同的代码?如果您编辑了代码,请在此处提供。您希望从描述标签中获得什么值??以及任何其他值“抱歉,此下载链接不再存在”。。。。从
http://justbeamit.com/95152
对不起!该链接现在已修复。我没有发现任何错误和bug,示例链接工作正常,没有任何更改。请确切地告诉我您在哪个列表项中得到了错误的描述?请查看我改进的RSS提要,这就是问题所在