1
、
OPML
文件
OPML
(
Outline
Processor Markup
Language
)是建立在
XML
基础上的“大纲处理标记语言”,主要用于描述一份资料的结构。大部分的
RSS
阅读器都支持通过导入
OPML
文件来导入或导出订阅的源。
下面是一个
OPML
文件的样本
<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
<head>
<title> subscriptions in Google Reader</title>
</head>
<body>
<outline text="豆瓣: 搞笑新闻收集小组的讨论" title="豆瓣: 搞笑新闻收集小组的讨论"
type="rss"
xmlUrl="http://www.douban.com/feed/group/funnynews/discussion" htmlUrl="http://www.douban.com/group/funnynews/discussion"/>
<outline title="category1" text="category">
<outline text="xxxxx" title="xxxxx" type="rss"
xmlUrl="http://www.xxxxx.net/index.xml" htmlUrl="http://www.xxxxx.net/"/>
<outline text="yyyyy" title="yyyyy" type="rss"
xmlUrl="http://yyyyy.yyyyy.com/rss" htmlUrl="http://yyyyy.yyyyy.com"/>
</outline>
</body>
</opml>
2
、用
ROME
解悉
OPML
文件
ROME
有一个
opml
的扩展包,大致看了一下,
jar
包里面有一个
rome.properties
文件和一些处理
OPML
格式文件的解悉和转换类。应该是通过
ROME
的插件机制,通过在
rome.properties
里面增加这些用来处理
OPML
格式的
Parser
和
Convertor
类,使
ROME
具备了解悉
OPML
的能力。使用时和用
ROME
读取
RSS
没有多在区别,如下:
WireFeedInput input = new WireFeedInput();
Opml feed = (Opml) input.build(source);//source可以是Reader,InputStream,和File等,
List<Outline> outlines = (List<Outline>) feed.getOutlines();
这样这可以通过
Outline
来取得
OPML
文件中每一条“
Rss
订阅”的地址和
title
等信息。同时要注意这里
Outline
既可以表示一条
Rss
订况,也可能表示一个
category,
如
<outline
title="category1" text="category">
这一条,这个其实就是在
Google
Reader
中的
Folder
的概念。
可能过
outline.getChildren()
来取得
category
下面的每一个条目。
3、“快速搬家”
有些RSS阅读器提供了快速搬家,通过输入你在其它阅读器上的用户名和密码,就可以将以RSS订阅从其它网站上导入到这个阅读器上。在
java
中,用
HttpClient
通过将用户名和密码传递给其它阅读器网站模拟登陆,然后利用网站提供的导出OPML文件功能,再将这个OPML文件导入即可实现类似的快速搬家功能。
分享到:
相关推荐
rome-certiorem.zip,基于罗马(过时)的JavaBuHuBub实现到HTTPS://Github. COM/ROMITOOLS/ROME
在这个方法中,我们使用`XmlReader`从URL获取RSS XML内容,然后用`SyndFeedInput`构建了一个`SyndFeed`对象,该对象包含了RSS feed的所有信息,如标题、描述、条目等。 有了`SyndFeed`对象,我们可以方便地访问RSS ...
使用JDOM,开发者可以方便地读取XML文件,查找、修改或添加元素,以及生成新的XML输出。JDOM的设计目标是提高性能和易用性,使得Java开发者在处理XML时无需了解复杂的底层细节。 ROME,全称RSS Object Model for ...
1. **导入源码**:首先,将"ROME1.0"压缩包解压,获取到"rome-1.0.jar"的源码文件,可以使用IDE如Eclipse或IntelliJ IDEA导入源码项目。 2. **了解包结构**:查看源码中的包组织,如`com.rometools`下的各个子包,...
1. **读取XML文件**:通过SAX或DOMBuilder,JDOM可以从XML文件中构建一个Document对象。 2. **创建XML文档**:利用Element、Attribute等类,可以方便地构建XML文档结构。 3. **修改XML文档**:找到特定的元素或属性...
JDOM和ROME的结合使用,可以实现从XML文档中提取RSS Feed,然后通过ROME解析这些Feed,提取出文章标题、描述、链接等信息,甚至可以进一步处理这些信息,比如存入数据库或进行数据分析。这样的组合,为开发者提供了...
"rome-license.txt"则包含了Rome库的许可协议,这是开源软件中常见的文件,通常会声明软件的使用、修改和分发的条件。对于开发者来说,了解并遵守这些许可协议是使用开源库的必要步骤,以确保符合法律和道德规范。 ...
"rome-license.txt" 文件通常包含开源软件的许可协议,它规定了用户可以如何使用、修改和分发该软件。对于罗马库来说,这个文件可能指定了Apache License 2.0、MIT License或其他开放源代码许可证,这些许可证允许...
2. **XML绑定**:Rome使用了JAXB(Java Architecture for XML Binding)来实现XML与Java对象之间的映射。这使得从XML到Java对象的转换变得简单,反之亦然。开发者只需要定义好对应的Java模型类,Rome就能自动进行...
这两个文件分别提供了库的二进制版本和源代码,使得开发者可以选择使用或研究这个库来扩展RSS处理能力。 **应用场景** - **RSS阅读器**:使用ROME和rsslib4j,开发者可以创建自己的RSS阅读器应用,让用户能够订阅...
1. 解析XML文件:使用`RomeFeedReader`类,可以读取XML文件并将其转换为Rome模型对象。 2. 创建feed:通过` SyndFeedImpl `类,可以构建一个新的RSS或Atom feed。 3. 添加条目:`SyndEntryImpl`用于表示单个条目,...
- 使用`SyndFeedInput`可以从URL或XML字符串中读取feed。 - 解析后的feed可以通过`SyndFeed`对象进行访问,获取新闻标题、描述、链接、作者等信息。 - 对于百度RSS新闻的不同栏目,可以通过遍历`SyndFeed`的子项`...
Rome 的主要功能包括解析器和生成器,解析器可以从一个网址、一个本地文件或文件流中读取转换数据,而生成器可以将 SyndFeed 对象输出成程序所指定的数据格式。SyndFeed 是 Rome 提供的一个中间对象,包括了源数据中...
《Rome使用简单说明二(部分关键源码分析)》 在Java开发中,Rome是一个用于处理RSS和Atom feeds的开源库。它提供了一系列的API,使得开发者能够轻松地读取、创建和更新这些标准格式的feed。本文将重点探讨Rome库中的...
2. **示例或测试文件**:这些文件演示了如何在实际项目中引入和使用ROME插件,有助于开发者快速理解和应用。 - `index.html`:可能是一个简单的示例页面,展示如何在HTML中调用插件。 - `example.js`:可能包含...
本文将深入探讨如何解决使用Rome处理RSS订阅时遇到的中文出错问题。 首先,我们需要理解问题的根源。在处理XML文件(如RSS feed)时,编码问题通常与字符集设置有关。RSS规范通常要求XML文档声明一个字符编码,如...
首先,使用JDOM构建XML结构,然后用ROME的API将其转换成RSS格式。例如,可以先使用JDOM创建一个`Document`对象,然后添加`Element`来表示RSS feed的基本信息,如频道(channel)、标题、描述等。接着,为每个内容项...
这可能是几个独立的Java类或一个完整的项目,展示了如何使用Rome来读取、创建和管理RSS源。 标签“rome.jar java_r java_rss rss_feed_jar rss_java”进一步确认了这个资源包的核心内容:Rome库的jar文件,以及与...
你可以通过它们读取XML文件或从URL获取feed,并将其转换为Java对象进行处理。 - `SyndFeed`: 表示RSS或Atom feed的模型类,包含了feed的所有元数据和条目(entries)。 - `SyndEntry`: 表示feed中的单个条目,包括...