1、 首先新建web项目,引入rome.jar和jdom.jar2个jar包
2、新建servlet RssToXmlServlet.java
package org.zhanghua.rsstoxml;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.syndication.feed.rss.Channel;
import com.sun.syndication.feed.synd.SyndContent;
import com.sun.syndication.feed.synd.SyndContentImpl;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndEntryImpl;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.feed.synd.SyndFeedImpl;
import com.sun.syndication.io.FeedException;
import com.sun.syndication.io.SyndFeedOutput;
/**
* 利用rome组件,生成xml文档
*
* @author ZhangHua
*
*/
public class RssToXmlServlet extends HttpServlet {
private static final long serialVersionUID = 643174163996699163L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("application/xml;charset=UTF-8");
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType("rss_2.0");
feed.setTitle("test title");
feed.setLink("test");
feed.setDescription("test desc");
SyndEntry entry = new SyndEntryImpl();
entry.setTitle("entry title");
entry.setLink("test");
SyndContent content = new SyndContentImpl();
content.setType("text/html");
content.setValue("content desc");
entry.setDescription(content);
List<SyndEntry> entries = new ArrayList<SyndEntry>();
entries.add(entry);
feed.setEntries(entries);
SyndFeedOutput output = new SyndFeedOutput();
try {
output.output(feed, resp.getWriter());
} catch (FeedException e) {
e.printStackTrace();
}
}
}
3、发布项目,访问该servlet,即可
分享到:
相关推荐
2. **XML绑定**:Rome使用了JAXB(Java Architecture for XML Binding)来实现XML与Java对象之间的映射。这使得从XML到Java对象的转换变得简单,反之亦然。开发者只需要定义好对应的Java模型类,Rome就能自动进行...
- Rome是一个轻量级的Java库,专注于XML feeds的处理,支持RSS 0.9x, RSS 1.0, RSS 2.0, Atom 0.3 和 Atom 1.0 格式。 - 它提供了丰富的API,用于解析和生成feed,方便开发者进行数据操作和定制化开发。 - Rome的...
本篇文章将详细介绍这两种规范,以及如何使用如Rome和rssutils这样的工具来解析和操作这些XML文件。 1. RSS聚合规范: RSS是一种简单的内容聚合格式,主要用于博客、新闻网站等,让用户可以一次性获取多来源的最新...
通过JDOM,开发者可以高效地操作XML数据,而通过ROME,他们可以轻松地解析、生成和管理RSS和Atom feeds。对于那些需要构建新闻聚合应用或需要从网上获取RSS内容的开发者来说,这个包具有很高的实用价值。
【标题】"rome-1.0.jar 与 rome.jar:源码解析" 【内容】 在Java开发中,库和框架是构建复杂应用程序的重要组成部分。"rome-1.0.jar" 和 "rome.jar" 是两个这样的库,它们主要用于处理RSS(Really Simple ...
为了处理和解析XML文件,开发者通常会使用专门的库,如Java中的JDOM和ROME。这两个库是Java开发者的强大工具,尤其在构建RSS(Really Simple Syndication) feeds时。 **JDOM** JDOM,全称为Java Document Object ...
在Java开发中,处理XML文档是一项常见的任务,而JDOM(Java Document Object Model)和ROME(Really Simple Syndication)库则是为此目的而设计的强大工具。这两个库的结合,使得在Java环境中解析和创建XML,特别是...
而"jdom+rome JAR包"是两个Java库,用于帮助开发者更方便地处理XML文档,并创建和管理RSS馈送。 **JDOM库** JDOM,全称Java Document Object Model,是一个为Java平台设计的DOM(Document Object Model)实现。...
这里的"rome-0.9.jar"是一个特定版本的Rome库的归档文件,通过它,开发者可以轻松地在Java应用程序中处理XML格式的新闻源。 Rome库的核心功能包括: 1. **RSS和Atom Feed的解析**:Rome提供了API,能够解析RSS 2.0...
如果Rome在解析或生成XML时未正确处理这个编码,就会导致中文字符无法正常显示。这可能是因为默认的字符编码与实际的RSS feed编码不匹配,或者在处理过程中没有显式地指定正确的字符集。 解决此问题的第一步是检查...
Java作为一款强大的编程语言,提供了许多库来处理RSS数据,其中之一就是Rome。本文将深入探讨如何在Java环境中使用Rome库来解析RSS feed。 首先,我们需要理解Rome库的核心概念。Rome是一个Java库,它为创建、聚合...
"rome-1.0.jar" 是罗马(Rome)库的一个版本,它是一个Java库,主要用于XML和RSS/Atom feeds的处理。这个库由Java开发者设计,旨在简化新闻聚合和内容提要的工作,使得开发者可以轻松地从各种RSS和Atom源抓取、解析...
JDOM提供了对XML文档结构的直接映射,允许开发者以DOM(Document Object Model)的方式操作XML,包括创建、修改和读取XML文档。 在"ROME + JDOM轻松实现RSS的操作"这个主题中,我们将探讨如何使用这两者来实现RSS的...
例如,你可以创建新的feed对象,添加条目,设置频道属性,并将整个feed转换为XML字符串。 2. **源码与文档**:在下载集合中,"rome-1.0-javadoc"包含了完整的API文档,这对于理解并有效地使用ROME框架至关重要。...
在描述中提到的“博文链接”,可能是一个详细的教程,讲解如何使用Java来生成RSS XML文件和读取RSS URL。通常,这会涉及到以下几个步骤: 1. **生成RSS XML**:这通常需要使用Java的XML处理库,如JDOM(Java ...
Rome解析RSS必备jar
在Android开发中,XML文件广泛用于存储数据、配置文件...这个示例涵盖了XML解析和序列化的基础,帮助开发者理解如何在Android应用中处理XML数据。通过学习这个demo,你可以更好地掌握XML在Android环境中的实际应用。
Rome通过实现这些接口,支持多种不同的解析器(如`JDOMParser`、`DOMParser`)和生成器(如`JDOMWriter`、`DOMWriter`),以适应不同的XML处理库。 在源码分析过程中,我们发现`SyndFeedInput`和`SyndFeedOutput`的...
ROME1.0的API文档, 该文档为自制CHM版本,没有检索.