2 clcurie 11 clcurie_11 于 2013.03.11 13:08 提问

从XML文件中获取完整的 RSS 内容提要

以下是XML 文件,我想从每个Item tag中取出 Description tag 的内容。我使用一个SAX解析器,但是不正确,如何实现呢?

<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.8.0-dev (info@mypapit.net)" -->
<rss version="2.0"  xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Latest Happenings</title>
        <description></description>
        <link>http://www.bjp.org/</link>
        <lastBuildDate>Wed, 25 May 2011 11:28:15 GMT</lastBuildDate>
        <generator>FeedCreator 1.8.0-dev (info@mypapit.net)</generator>
        <atom:link href="http://www.bjp.org/index.php?option=com_ninjarsssyndicator&amp;feed_id=12&amp;format=raw" rel="self" type="application/rss+xml" />        <item>
            <title>Meeting of BJP State Presidents, Pradesh Prabharies/Sah-prabharis  and State General Secretaries (Org.) at Lucknow</title>
        <description>

<image>http://www.bjp.org/images/stories/ne_eng_may_05_2011.jpg</image>

        </description>
            <author> anurag.pathak@bjp.org (Anurag Pathak)</author>
            <pubDate>Sun, 05 Jun 2011 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title>BJP National Executive Meeting at Lucknow</title>
        <description>

<image>http://www.bjp.org/images/stories/meeting3062011.jpg</image>

        </description>
            <author> anurag.pathak@bjp.org (Anurag Pathak)</author>
            <pubDate>Sat, 04 Jun 2011 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title>BJP National Executive Meeting at Lucknow</title>
        <description>

<image>http://www.bjp.org/images/stories/meeting3062011.jpg</image>

        </description>
            <author> anurag.pathak@bjp.org (Anurag Pathak)</author>
            <pubDate>Fri, 03 Jun 2011 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title>National Conference on RTI Training by RTI Cell</title>
        <description>
            <text><![CDATA[<img width="900" src="http://www.bjp.org/images/stories/invitation card new.jpg" />]]></text>
        </description>
            <author> anurag.pathak@bjp.org (Anurag Pathak)</author>
            <pubDate>Thu, 26 May 2011 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title>BJYM against corruption – Hai Dum To Badhao Kadam, Chhattisgarh</title>
        <description>
<text><![CDATA[<p>]]></text>
<link>http://www.bjym.org/hai-dum-to-badhao-kadam</link>
<text><![CDATA[</p>
<p>]]></text>
<image>http://www.bjp.org/images/stories/bjym_1.jpg</image>

        </description>
            <author> anurag.pathak@bjp.org (Anurag Pathak)</author>
            <pubDate>Mon, 23 May 2011 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title>National Convention on Corruption &amp;amp; Recovery of Black Money by CA Cell</title>
        <description>

<image>http://www.bjp.org/images/stories/ca1.jpg</image>
<text><![CDATA[
<div><br />
<div>]]></text>
<image>http://www.bjp.org/images/stories/ca1.jpg</image>
<text><![CDATA[
</div>]]></text>
        </description>
            <author> anurag.pathak@bjp.org (Anurag Pathak)</author>
            <pubDate>Tue, 17 May 2011 07:20:52 GMT</pubDate>
        </item>
        <item>
            <title>All India Lawyer Conference at Lucknow </title>
        <description>
<text><![CDATA[<p style="text-align: center;">]]></text>
<image>http://www.bjp.org/images/stories/kamala_2.png</image>
<text><![CDATA[
<p style="text-align: center;"><span style="color:#ff6600;">
<span style="font-size: 24pt;"><strong>Bharatiya Janata Party</strong><strong><em><br /><br /></em></strong></span></span></p>
<span style="color: #008000;"><span style="font-size: 18pt;"><span style="font-family: arial black,avant garde;">&nbsp;</span></span></span>
<p style="text-align: center;"><span style="color:#008000;"><span style="font-size: 18pt;"><strong><span style="font-family: 'arial black', 'avant garde';">All India Lawyer Conference </span></strong></span></span></p>
<p style="text-align: center;"><span style="color:#008000;"><span style="font-size: 18pt;"><strong><span style="font-family: 'arial black', 'avant garde';">at Lucknow (Uttar Pradesh)</span></strong></span></span></p>
<p style="text-align: center;"><span style="font-family: 'arial black', 'avant garde'; color:#008000; font-size: large;"><strong><br /></strong></span></p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"><strong><span style="font-family: andale mono,times;"><em><span style="font-size: 14pt;"><span style="color:#ff0000;">of</span></span></em></span></strong></p>
<p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 14pt;"><span style="color: #000080;"><strong>BJP President Shri Nitin Gadkari</strong></span></span></span></p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"><span style="font-size: 12pt;"><span style="color:#ff0000;"><strong>on<br /></strong></span></span></p>
<p style="text-align: center;"><strong><span style="font-size: 12pt;"><span style="color: #ff0000;">May 15, 2011 (Sunday)</span></span><br /></strong></p>]]></text>
        </description>
            <author> anurag.pathak@bjp.org (Anurag Pathak)</author>
            <pubDate>Sun, 15 May 2011 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title>Border Darshan: Commemorating 110th Birth Anniversary of Dr. Syama Prasad Mookerjee</title>
        <description>
<text><![CDATA[<p>]]></text>
<link>http://borderdarshan.com/</link>
<text><![CDATA[</p>
<p><img width="900" src="http://www.bjp.org/images/stories/border_darshan_delhi-without pic-shri tarun vijaybalaptenew.jpg" /></p>
<p><img src="http://www.bjp.org/images/stories/border_darshan_delhi-without pic-shri tarun vijaybalaptenew.jpg" /></p>]]></text>
        </description>
            <author> anurag.pathak@bjp.org (Anurag Pathak)</author>
            <pubDate>Sat, 14 May 2011 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title>BJP SC Morcha National Executive Meeting at Andhra Pradesh</title>
        <description>
<text><![CDATA[<p style="text-align: center;">]]></text>
<image>http://www.bjp.org/images/stories/kamala_2.png</image>
<text><![CDATA[
<p style="text-align: center;"><span style="color:#ff6600;"><span style="font-size: 24pt;"><strong>Bharatiya Janata Party</strong><strong><em><br /><br /></em></strong></span></span></p>
<span style="color: #008000;"><span style="font-size: 18pt;"><span style="font-family: arial black,avant garde;">&nbsp;</span></span></span><span style="font-family: arial black,avant garde;"><span style="font-size: 18pt;"><span style="color: #008000;"> </span></span></span>
<p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 18pt;"><span style="color: #008000;">BJP SC Morcha National Executive Meeting </span></span></span></p>
<p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 18pt;"><span style="color: #008000;">at </span></span></span></p>
<p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 18pt;"><span style="color: #008000;">Andhra Pradesh</span></span></span></p>
<p style="text-align: center;"><span style="font-family: 'arial black', 'avant garde'; color:#008000; font-size: large;"><strong><br /></strong></span></p>
<p style="text-align: center;"><strong><span style="font-family: andale mono,times;"><em><span style="font-size: 14pt;"><span style="color:#ff0000;">of</span></span></em></span></strong></p>
<p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 14pt;"><span style="color: #000080;"><strong>ST Morcha National President<br />Shri Faggan Singh Kulasthe</strong></span></span></span></p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"><span style="font-size: 12pt;"><span style="color:#ff0000;"><strong>on<br /></strong></span></span></p>
<p style="text-align: center;"><strong><span style="font-size: 12pt;"><span style="color: #ff0000;">May 12, 2011 (Thursday</span></span></strong><strong><span style="font-size: 12pt;"><span style="color:#ff0000;">)</span></span><br /></strong></p>]]></text>
        </description>
            <author> anurag.pathak@bjp.org (Anurag Pathak)</author>
            <pubDate>Thu, 12 May 2011 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title>Mukhyamantri Sammelan at  Constitution Club, New Delhi</title>
        <description>
<text><![CDATA[<p style="text-align: center;">]]></text>
<image>http://www.bjp.org/images/stories/kamala_2.png</image>
<text><![CDATA[
<p style="text-align: center;"><span style="color:#ff6600;"><span style="font-size: 24pt;"><strong>Bharatiya Janata Party</strong><strong><em><br /><br /></em></strong></span></span></p>
<span style="color: #008000;"><span style="font-size: 18pt;"><span style="font-family: arial black,avant garde;">&nbsp;</span></span></span>
<p style="text-align: center;"><span style="font-family: arial black,avant garde;"><strong><span style="color:#008000;"><span style="font-size: 18pt;">Mukhyamantri Sammelan </span></span></strong></span></p>
<p style="text-align: center;"><span style="font-family: arial black,avant garde;"><strong><span style="color:#008000;"><span style="font-size: 18pt;">at&nbsp; </span></span></strong></span></p>
<p style="text-align: center;"><span style="font-family: arial black,avant garde;"><strong><span style="color:#008000;"><span style="font-size: 18pt;">Constitution Club, New Delhi</span></span></strong></span></p>
<span style="color: #008000;"><span style="font-size: 18pt;"><strong><span style="font-family: 'arial black', 'avant garde';"><br /></span></strong></span></span>
<p style="text-align: center;"><strong><span style="font-family: andale mono,times;"><em><span style="font-size: 14pt;"><span style="color:#ff0000;">of</span></span></em></span></strong></p>
<p style="text-align: center;"><span style="font-family: arial black,avant garde;"><span style="font-size: 14pt;"><span style="color: #000080;"><strong>BJP President Shri Nitin Gadkari</strong></span></span></span></p>
<p style="text-align: center;"> </p>
<p style="text-align: center;"><span style="font-size: 12pt;"><span style="color:#ff0000;"><strong>on<br /></strong></span></span></p>
<p style="text-align: center;"><strong><span style="font-size: 12pt;"><span style="color: #ff0000;">May 9-10, 2011 (Monday)</span></span><br /></strong></p>]]></text>
        </description>
            <author> pritam.sharma@bjp.org (Pritam Sharma)</author>
            <pubDate>Mon, 09 May 2011 00:00:00 GMT</pubDate>
        </item>
    </channel>
</rss>

2个回答

curie_87
curie_87   2013.03.15 11:15
已采纳

通过 DocumentBuilder 创建一个 Document,然后使用 DOM 方法来获取你所需要的。

   InputStream responseStream = ... // create an InputStream from your string or something else
    Document doc = null;

    try {
        DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        doc = docBuilder.parse(new InputSource(new InputStreamReader(responseStream)));
    } catch (ParserConfigurationException e) {
        throw new IOException(e.getMessage());
    } catch(SAXException e) {
        throw new IOException(e.getMessage());
    }

    if(doc != null) {

        NodeList items = doc.getElementsByTagName("item");
        int len = items.getLength();
        for(int i = 0; i < len; i++) {
            Element item = (Element)items.get(i);
            NodeList descItems = item.getElementsByTagName("description");

            if(descItems.getLength() > 0) {
                Element descrElement = (Element)descItems.get(0); // get first
                // do anything you want with it
            }
        }

    }
pby_bob
pby_bob   2013.03.11 14:45

这种你使用pull解析会更简单方便,获取到description节点,然后就可以继续解析XmlPullParser,从parser中根据节点名称取出你想要的东西。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java RSS阅读器 (含联网解析功能)
java RSS 阅读器,可以从网站获取并解析Xml文件,以及解析和保存XML文件
jQuery 获取跨域XML(RSS)数据相关总结
前段时间项目,需要前端JS获取跨域XML(RSS),最先打算使用jQuery.ajax方法获取,但是在ie9以下,提示“拒绝访问的” 略尴尬,网上查找了相关资料总结了以下几种方法: 一、google的jGFeed:相信很多同学对这个应该不陌生,使用也相对简单: 源码: (function($){ $.extend({ jGFeed : function(url, fnk,
Java生成RSS-XML文件
详细看代码,部分涉及到隐私的就给删了,但是不影响功能,里面的日期等格式化,不知道的可以看我前面的博客   /** * author:humf */ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import
动态生成Rss文件 Xml操作 Xml文件的修改
动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改
wordpress网站获取RSS链接
wordpress默认的RSS订阅图标点击后就直接进入一个自己feed页面,别人需要订阅还得输入进入自己的阅读器输入网址,很麻烦。 我来介绍给大家一个很简单的RSS设置订阅。 首先大家先到http://www.feedsky.com/,输入自己的网址, 然后添加feed源, 设置feed相关信息, 然后出现成功页面,复制你的永久feed地址,进入你的wordpress后台,编辑,
RSS阅读器练习笔记————xml文件解析中CDATA及HTML字符实体的处理
本文来自http://blog.csdn.net/chenshaoyang0011转载请申明出处! 本文将介绍本人在写RSS阅读器时,解析RSS的xml文件所遇到的一些问题和解决方法。 首先简单介绍下什么是RSS:RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如文章、博客,音频或视频 的网摘。(摘自Wiki) 一个站点若提供RSS源,我们就可以从这个站点获
RSS阅读器(使用android解析技术解析xml文件并以列表的形式显示出来)
要在Android平台中开发RSS客户端,首先需要了解什么是RSS,RSS怎样工作,及怎样用XML编程RSS等知识。闲言少叙,我们开始吧。      首先,我们必须要了解什么是RSS:        1. RSS指Really Simple Syndication(真正简易联合)        2. RSS使您有能力聚合(syndicate)网站的内容        3. RSS定义了
java解析RSS信息
java解析百度、网易、新浪等RSS订阅 1.需要引入rome.jar这个jar包(下载) 2.在百度、网易、新浪等RSS频道找到自己感兴趣的PSS地址,比如: 网易体育:http://news.163.com/special/00011K6L/rss_newstop.xml 3.定义一个javabean,以便于获取数据 public class RSSItemB
XML应用样例:Atom到RSS转换
 要点:Atom到RSS,即XML到XML间的转换,可以使用XSL进行。网上有开源的atom2rss.xsl。Xsl转换,用System.Xml.Xsl.XslCompiledTransform类。做Transform的时候,可接受的参数类型很多,输出参数为Stream时,根据原文,在内部使用了StreamWriter进行了字符集转换,而且UTF8时,头部带BOM。XPathDocument类的构造函数有很多定义,其中的Stream不建议使用,而应该在其上初始化一个StreamReader指定字符集。代码如
使用 XML: 提供更友好的 RSS 和 Atom 提要
         Web 站点上的 RSS 和 Atom 提要如同雨后春笋般涌现。它们之所以如此流行,原因就在于为忠诚的访问者提供了一种简单的机制,帮助他们注册站点、获得更新通知。但对于用户来说,它们并非总是非常简单,特别是那些使用较旧的浏览器的用户更是如此。在这篇文章中,Benoît 介绍了一种技术,帮助 Web 站点的访问者阅读和理解 RSS 和 Atom 提要。=         RSS