`

动态创建RSS文档

阅读更多
这里需要Jdom的API
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.util.Iterator; 
import java.util.List; 
import org.jdom.Document; 
import org.jdom.Element; 
import org.jdom.JDOMException; 
import org.jdom.output.XMLOutputter; 
/** 
* 动态创建RSS文档 
* @author 李英夫(09.06.25) 
*/ 
public class RssHandle { 
/** 
  * RSS2.0版 
  * item:所有item元素的集合,集合的每个元素为String[],长度为3,分别保存item下必有的三个元素title,link,description<br/> 
  * from:为长度为三的字符串数组,分别保存channel下必有的三个元素title,link,description<br/> 
  * path:文件保存路径 
  * @param item 
  * @param from 
  * @param path 
  * @throws IOException 
  * @throws JDOMException 
  */ 
public static void createRSSXml(List<String[]> items,String[] from, String path) throws IOException, JDOMException{ 
  /** 
   * RSS文档的结构是: 
   *    <?xml version="1.0" encoding="ISO-8859-1" ?> 
   *   <rss version="2.0"> 
   *  <channel> 
   *    <title>W3School Home Page</title> 
   *    <link>http://www.w3school.com.cn</link> 
   *    <description>Free web building tutorials</description> 
   *    <item> 
   *      <title>RSS Tutorial</title> 
   *      <link>http://www.w3school.com.cn/rss</link> 
   *      <description>New RSS tutorial on W3School</description> 
   *    </item> 
   *    <item> 
   *      <title>XML Tutorial</title> 
   *      <link>http://www.w3school.com.cn/xml</link> 
   *      <description>New XML tutorial on W3School</description> 
   *    </item> 
   *  </channel> 
   *  </rss> 
   * 其中<rss>为根元素 
   * <channel>为频道,必有且只能有一个 
   *  其子元素<title><link><description>必有 
   *  <item>可以有多个代表内容 
   *   其子元素<title><link><description>必有 
   */ 
  Element rss = new Element("rss");//根元素rss 
  rss.setAttribute("version", "2.0");//RSS2.0版 
  Document rssXml = new Document(rss);//创建RSS文档 
  Element channel = new Element("channel");//<channel> 
   
  //在channel下分别添加title,link,description 
  channel.addContent(new Element("title").setText(from[0])); 
  channel.addContent(new Element("link").setText(from[1])); 
  channel.addContent(new Element("description").setText(from[2])); 
   
  //将所有的item遍历出来 
  Iterator<String[]> it = items.iterator(); 
  while (it.hasNext()) { 
   String[] strings = (String[]) it.next(); 
   Element item = new Element("item"); 
   item.addContent(new Element("title").setText(strings[0])); 
   item.addContent(new Element("link").setText(strings[1])); 
   item.addContent(new Element("description").setText(strings[2])); 
   channel.addContent(item); 
  } 
   
  //将channel添加到rss根元素下 
  rss.addContent(channel); 
  // 输出xml 文件;   
  Format format=Format.getPrettyFormat();   //格式化文档   
  format.setEncoding("gbk");   //由于默认的编码是utf-8,中文将显示为乱码,所以设为gbk 
  XMLOutputter xOutputter = new XMLOutputter(); 
  xOutputter.setFormat(format); 
  xOutputter.output(rssXml, new FileOutputStream(path));   
} 
分享到:
评论

相关推荐

    利用Oracle JAVA 组件动态生成RSS 的方法

    RSS文档的基本结构由`&lt;rss&gt;`根元素和其子元素`&lt;channel&gt;`构成。`&lt;channel&gt;`元素包含了频道的元数据和一系列的`&lt;item&gt;`元素,每个`&lt;item&gt;`代表一条具体的新闻或更新。这些元素通常包含以下属性: - `&lt;title&gt;`:标题 ...

    RSS代码大全-详细介绍RSS开发过程

    1. **频道(Channel)**:这是RSS文档的顶级元素,包含了关于整个RSS源的信息,如标题、描述、URL等。 2. **条目(Item)**:频道下包含一系列条目,每个条目代表网站的一个独立内容,如新闻文章或博客帖子,每个...

    自己动手写一个RSS

    频道是RSS文档的容器,包含了RSS feed的基本信息,如标题、描述、链接等;条目则是具体的文章或内容,每个条目都有自己的标题、描述、链接和发布日期等信息。在编写RSS时,我们需要按照RSS2.0的规范,构建这些XML...

    RSS Utilities Package 下载

    这个包的核心是`rssutils.jar`文件,这是一个Java archive(JAR)文件,其中集成了处理RSS文档所需的类库。这些类库可能包含了解析RSS feed、提取信息、转换数据结构、甚至创建新的RSS feed等功能。开发者可以将其...

    网站加入RSS功能(RSS阅读与制作阅读器的feed)

    在JSP中创建RSS feed,需要编写XML代码来构建RSS2.0标准的结构,并使用JSP标签库(如JSTL)处理动态数据,如文章列表。这使得网站可以根据数据库中的最新内容自动生成RSS源。 3. **RSS feed创建**:RSS feed由频道...

    动态生成Rss文件 Xml操作 Xml文件的修改 简单实用的demo

    在这个简单的`RSS.php`示例中,我们看到了如何使用PHP动态创建一个符合RSS 2.0标准的XML文件。这个过程涉及到了DOMDocument类的使用,包括创建元素、设置属性、添加子元素以及保存XML文件。通过这种方式,开发者可以...

    Javascript Ajax异步读取RSS文档具体实现

    ### Javascript Ajax异步读取RSS文档具体实现知识点详解 #### 1. Ajax技术概念 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个页面的情况下,能够更新部分网页的技术。它是一种网页开发技术,...

    rss.rar_ RSS asp.net_RSS asp.net_asp.net_asp.net rss_rss asp.n

    3. **RSS Feed结构**:了解RSS feed的基本元素,如channel、title、description、item、link等,并能创建符合RSS规范的XML文档。 4. **C#编程**:如何在C#中创建XML文档,处理XML节点,以及如何在ASP.NET环境中生成...

    php ajax异步读取rss文档数据

    总结一下,本例展示了如何使用PHP和AJAX异步读取RSS文档数据,包括创建XMLHttpRequest对象、发送GET请求、PHP解析RSS XML以及在前端展示数据。这种方法在构建动态、实时更新的Web应用时非常有用,特别是对于新闻聚合...

    RSS.zip_RSS_RSS Reader_rss 阅读_rss阅读器_阅读器

    这可能是一个开发项目,旨在帮助学习者理解如何创建一个可以解析并显示RSS源的程序。 标签中的“rss rss_reader rss_阅读 rss阅读器 阅读器”再次强调了主题,即RSS技术和与其相关的阅读器软件。 根据压缩包子文件...

    简单的rss实现(C#)

    3. **创建RSS Feed** - 使用`SyndicationFeed`类,你可以轻松地创建一个新的RSS feed对象,设置其属性如标题、描述、链接等。 - 添加条目到feed中,通过`SyndicationFeed.AddItem`方法,传入一个`SyndicationItem`...

    rome-1.0RC2rss解析

    在互联网信息爆炸的时代,RSS(Really Simple Syndication)成为了订阅和聚合新闻、博客、播客等动态内容的重要工具。RSS通过XML格式提供数据,使得用户可以无需访问各个网站就能获取最新的更新。罗马(Rome)是一个...

    Java使用SAX的rss解析实例

    2. **创建RSS解析器**:创建一个SAX事件处理器类,继承自`org.xml.sax.helpers.DefaultHandler`。在这个类中,重写`startElement`、`endElement`和`characters`等方法,以便在解析过程中捕获并处理RSS feed的各个...

    asp生成RSS实战技术

    首先,可以通过创建XML文件来生成RSS。这里介绍了一种使用`FileSystemObject`(简称FSO)的方法。FSO是ASP中用于文件系统操作的对象,通过它可以轻松读写文件。 ```vbscript xmlfile = Server.MapPath("test1.xml...

    asp网站RSS代码

    4. **动态生成RSS**:在ASP页面中,当用户请求RSS feed时,服务器会根据数据库中的最新数据动态生成XML内容。这需要编写代码来循环遍历记录集,将每条数据转化为RSS项,并插入到XML文档中。 5. **编码与输出**:...

    Android RSS阅读器的源码.rar

    开发者通常会定义数据模型,创建数据库表,并实现增删查改的SQL操作。 4. **UI设计**:源码中,UI界面通常包括列表视图或网格视图显示RSS条目,以及详情页展示每条RSS的完整内容。使用RecyclerView或ListView作为...

    RSS生成与阅读器制作 jsp 源码

    在本项目中,“RSS生成与阅读器制作 jsp 源码”是关于如何使用JavaServer Pages(JSP)技术来创建RSS源以及相应的阅读器应用程序的源代码示例。 首先,我们来理解RSS的基本结构。RSS文件通常以`.rss`或`.xml`为扩展...

    ASP.NET RSS订阅

    1. **RSS馈送生成**:开发者需要编写代码生成符合RSS 2.0规范的XML文档。这通常涉及到创建XML元素,如`&lt;channel&gt;`、`&lt;item&gt;`、`&lt;title&gt;`、`&lt;description&gt;`等,并填充相应的数据。 2. **RSS阅读器接口**:为了允许...

    ASP.NET RSS工具包

    4. **创建RSS Feed**:除了读取,工具包还支持创建新的RSS Feed。开发者可以构建RSS频道对象,添加条目,然后生成相应的XML字符串或直接写入文件。这对于开发新闻聚合平台或自动生成RSS Feed的网站非常有用。 5. **...

Global site tag (gtag.js) - Google Analytics