这里需要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));
}
分享到:
相关推荐
RSS文档的基本结构由`<rss>`根元素和其子元素`<channel>`构成。`<channel>`元素包含了频道的元数据和一系列的`<item>`元素,每个`<item>`代表一条具体的新闻或更新。这些元素通常包含以下属性: - `<title>`:标题 ...
1. **频道(Channel)**:这是RSS文档的顶级元素,包含了关于整个RSS源的信息,如标题、描述、URL等。 2. **条目(Item)**:频道下包含一系列条目,每个条目代表网站的一个独立内容,如新闻文章或博客帖子,每个...
频道是RSS文档的容器,包含了RSS feed的基本信息,如标题、描述、链接等;条目则是具体的文章或内容,每个条目都有自己的标题、描述、链接和发布日期等信息。在编写RSS时,我们需要按照RSS2.0的规范,构建这些XML...
这个包的核心是`rssutils.jar`文件,这是一个Java archive(JAR)文件,其中集成了处理RSS文档所需的类库。这些类库可能包含了解析RSS feed、提取信息、转换数据结构、甚至创建新的RSS feed等功能。开发者可以将其...
在JSP中创建RSS feed,需要编写XML代码来构建RSS2.0标准的结构,并使用JSP标签库(如JSTL)处理动态数据,如文章列表。这使得网站可以根据数据库中的最新内容自动生成RSS源。 3. **RSS feed创建**:RSS feed由频道...
在这个简单的`RSS.php`示例中,我们看到了如何使用PHP动态创建一个符合RSS 2.0标准的XML文件。这个过程涉及到了DOMDocument类的使用,包括创建元素、设置属性、添加子元素以及保存XML文件。通过这种方式,开发者可以...
### Javascript Ajax异步读取RSS文档具体实现知识点详解 #### 1. Ajax技术概念 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个页面的情况下,能够更新部分网页的技术。它是一种网页开发技术,...
3. **RSS Feed结构**:了解RSS feed的基本元素,如channel、title、description、item、link等,并能创建符合RSS规范的XML文档。 4. **C#编程**:如何在C#中创建XML文档,处理XML节点,以及如何在ASP.NET环境中生成...
总结一下,本例展示了如何使用PHP和AJAX异步读取RSS文档数据,包括创建XMLHttpRequest对象、发送GET请求、PHP解析RSS XML以及在前端展示数据。这种方法在构建动态、实时更新的Web应用时非常有用,特别是对于新闻聚合...
这可能是一个开发项目,旨在帮助学习者理解如何创建一个可以解析并显示RSS源的程序。 标签中的“rss rss_reader rss_阅读 rss阅读器 阅读器”再次强调了主题,即RSS技术和与其相关的阅读器软件。 根据压缩包子文件...
3. **创建RSS Feed** - 使用`SyndicationFeed`类,你可以轻松地创建一个新的RSS feed对象,设置其属性如标题、描述、链接等。 - 添加条目到feed中,通过`SyndicationFeed.AddItem`方法,传入一个`SyndicationItem`...
在互联网信息爆炸的时代,RSS(Really Simple Syndication)成为了订阅和聚合新闻、博客、播客等动态内容的重要工具。RSS通过XML格式提供数据,使得用户可以无需访问各个网站就能获取最新的更新。罗马(Rome)是一个...
2. **创建RSS解析器**:创建一个SAX事件处理器类,继承自`org.xml.sax.helpers.DefaultHandler`。在这个类中,重写`startElement`、`endElement`和`characters`等方法,以便在解析过程中捕获并处理RSS feed的各个...
首先,可以通过创建XML文件来生成RSS。这里介绍了一种使用`FileSystemObject`(简称FSO)的方法。FSO是ASP中用于文件系统操作的对象,通过它可以轻松读写文件。 ```vbscript xmlfile = Server.MapPath("test1.xml...
4. **动态生成RSS**:在ASP页面中,当用户请求RSS feed时,服务器会根据数据库中的最新数据动态生成XML内容。这需要编写代码来循环遍历记录集,将每条数据转化为RSS项,并插入到XML文档中。 5. **编码与输出**:...
开发者通常会定义数据模型,创建数据库表,并实现增删查改的SQL操作。 4. **UI设计**:源码中,UI界面通常包括列表视图或网格视图显示RSS条目,以及详情页展示每条RSS的完整内容。使用RecyclerView或ListView作为...
在本项目中,“RSS生成与阅读器制作 jsp 源码”是关于如何使用JavaServer Pages(JSP)技术来创建RSS源以及相应的阅读器应用程序的源代码示例。 首先,我们来理解RSS的基本结构。RSS文件通常以`.rss`或`.xml`为扩展...
1. **RSS馈送生成**:开发者需要编写代码生成符合RSS 2.0规范的XML文档。这通常涉及到创建XML元素,如`<channel>`、`<item>`、`<title>`、`<description>`等,并填充相应的数据。 2. **RSS阅读器接口**:为了允许...
4. **创建RSS Feed**:除了读取,工具包还支持创建新的RSS Feed。开发者可以构建RSS频道对象,添加条目,然后生成相应的XML字符串或直接写入文件。这对于开发新闻聚合平台或自动生成RSS Feed的网站非常有用。 5. **...