javarss全文的简单介绍
今天给各位分享javarss全文的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
JAVA解析RSS的方法都有哪些
java读取word文档时,虽然网上介绍了很多插件poi、java2Word、jacob、itext等等,poi无法读取格式(新的API估 计行好像还在处于研发阶段,不太稳定,做项目不太敢用);java2Word、jacob容易报错找不到注册,比较诡异,我曾经在不同的机器上试过
如何使用java代码获取RSS中信息
以下内容来自互联网,版权归原作者,仅供参考:
以下是一个RSS文件的标准结构:
rss version="2.0"
channel
title.../title
link.../link
description.../description
copyright.../copyright
generator.../generator
lastBuildDate.../lastBuildDate
image.../image
item.../item
item.../item
...
item.../item
item.../item
/channel
/rss
其中rss元素是其根元素,它吧所有的内含信息包含在一个频道channel中,频道有许多meta信息,就是出现 在item前面的所有子元素。而rss中的所有摘要,都以item元素的形式出现,一个channel 可以有多个item。每个item同样有元信息,最重要的是描述description和链 接link。
现在有很多工具可以生成RSS,事实上,因为本质上RSS是一个XML文件,所以你完全可以以手工编写XML 文件的形式编写RSS,但是还是推荐用工具来简化操作和减少错误,我最喜欢用的工具是: /73066.htm
其实,不仅仅RSS阅读器可以获取RSS信息,我们用java API也是可以的。比较有名的是sourceforge的rsslib4j 包,我们这里就展示这个包的用法:
这个包可以到 去下,对应的javadoc地址是
实验部分:
我们演示2个例子,一个是读取本地rss文件的信息,一个是读取网络上某rss文件的信息:
首先我们开发了一个工具类,这个类的工具方法可以分离出相关信息并且转为字符串形式:
package com.charles.learnrss;
import java.util.List;
import org.gnu.stealthp.rsslib.RSSChannel;
import org.gnu.stealthp.rsslib.RSSHandler;
import org.gnu.stealthp.rsslib.RSSImage;
import org.gnu.stealthp.rsslib.RSSItem;
/*
* This file is confidential by Charles.Wang
* Copyright belongs to Charles.wang
* You can make contact with Charles.Wang (charles_wang888@126.com)
*/
public class RSSInfoRetriever {
public static String getRSSInfo(RSSHandler handler){
StringBuffer rssInfo = new StringBuffer();
//取得rss提要的频道信息(Channel)
RSSChannel channel = handler.getRSSChannel();
//Part1: 分离出rss频道的元信息
//(1)频道的标题
String titleInfo = channel.getTitle();
//(2)频道的链接信息
String linkInfo = channel.getLink();
//(3)频道的描述信息
String descriptionInfo = channel.getDescription();
//(4)频道使用的语言
String languageInfo = channel.getLanguage();
//(5)频道版权信息
String copyrightInfo = channel.getCopyright();
//(6)频道的generator的信息
String generatorInfo = channel.getGenerator();
//(7)频道的image信息
RSSImage channelImage = channel.getRSSImage();
String channelImageUrl = channelImage.getUrl();
rssInfo.append("频道标题: "+titleInfo+"n");
rssInfo.append("频道相关Link信息: "+linkInfo+"n");
rssInfo.append("频道描述信息: "+descriptionInfo+"n");
rssInfo.append("频道使用的语言: "+languageInfo+"n");
rssInfo.append("频道版权信息: "+copyrightInfo+"n");
rssInfo.append("频道产生器信息: "+generatorInfo+"n");
rssInfo.append("频道图片URL: "+channelImageUrl+"n");
//Part2: 分离出rss频道的所有摘要(feed),这里用item表示
List channelItems = channel.getItems();
int itemSize= channelItems.size();
if(itemSize =1){
rssInfo.append("n");
rssInfo.append("一共有 "+itemSize+"个摘要在这个频道中");
rssInfo.append("n");
for (int i=0;iitemSize;i++){
int itemNo = i+1;
RSSItem item = (RSSItem)channelItems.get(i);
rssInfo.append("n");
rssInfo.append("摘要"+itemNo+":");
//(1)摘要的作者
String itemAuthor = item.getAuthor();
//(2)摘要的标题
String itemTitle = item.getTitle();
//(3)摘要的描述
String itemDescription = item.getDescription();
//(4)摘要的链接
String itemLink = item.getLink();
//(5)摘要的发布日期
String itemPubDate = item.getPubDate();
rssInfo.append("作者: "+itemAuthor+"n");
rssInfo.append("标题: "+itemTitle+"n");
rssInfo.append("描述: "+itemDescription+"n");
rssInfo.append("链接: "+itemLink+"n");
rssInfo.append("发布日期: "+itemPubDate+"n");
rssInfo.append("n");
}
}
return rssInfo.toString();
}
}
然后我们写了一个驱动类,这个驱动类封装了个实验:
package com.charles.demo;
import java.net.URL;
import org.gnu.stealthp.rsslib.RSSChannel;
import org.gnu.stealthp.rsslib.RSSException;
import org.gnu.stealthp.rsslib.RSSHandler;
import org.gnu.stealthp.rsslib.RSSParser;
import com.charles.learnrss.RSSInfoRetriever;
/**
*
* Description:
*
* @author charles.wang
* @created May 10, 2012 9:07:13 AM
*
*/
public class RSSInfoRetrieverDemo {
// 这里定义一个本地的rss摘要,(对应我的博客空间)
public static final String localRSS = "charles.rss";
//这里定义一个远程的rss摘要的地址(对应人民网)
public static final String remoteRSS="";
public static void main(String[] args) throws Exception {
// DEMO 1: 让RSSParser去解析本地某个rss文件
// 取得本地的rss
RSSHandler localRSSHandler = new RSSHandler();
RSSParser.parseXmlFile(localRSS, localRSSHandler, false);
// 取得rss元素的信息并且打印在控制台上
String localRSSInfo=RSSInfoRetriever.getRSSInfo(localRSSHandler);
System.out.println("*************Charles博客的 rss信息如下****************");
System.out.println(localRSSInfo);
System.out.println("****************************************************");
// DEMO 2: 让RSSParser去解析远程rss的url
// 取得远程的rss
RSSHandler remoteRSSHandler = new RSSHandler();
RSSParser.parseXmlFile(new URL(remoteRSS), remoteRSSHandler, false);
// 取得rss元素的信息并且打印在控制台上
String remoteRSSInfo=RSSInfoRetriever.getRSSInfo(remoteRSSHandler);
System.out.println("****************人民网的 rss信息如下******************");
System.out.println(remoteRSSInfo);
System.out.println("****************************************************");
}
}
实验:读取本地的rss文件(charles.rss)
这个文件部分内容为:
双击代码全选
rss version="2.0"
channel
title
![CDATA[ 平行线的凝聚-51CTO技术博客 ]]
/title
link
![CDATA[ ]]
/link
description
![CDATA[ Latest 20 blogs of charles_wang8888 ]]
/description
copyright
![CDATA[ Copyright(C) 51CTO技术博客-领先的IT技术博客 ]]
/copyright
generator
![CDATA[ 51CTO BLOG by 51CTO Studio ]]
/generator
lastBuildDateThu, 01 Jan 1970 00:00:00 GMT/lastBuildDate
image
url
![CDATA[ ]]
/url
title
![CDATA[ 51CTO BLOG ]]
/title
link
![CDATA[ ]]
/link
description
![CDATA[ 51CTO技术博客-领先的IT技术博客 ]]
/description
/image
item
title
![CDATA[ 跨域访问的解决方案(非HTML5的方法1:JSONP) ]]
/title
description
![CDATA[
跨域访问一直是困扰很多开发者的问题之一。因为涉及到安全性问题,所以跨域访问默认是不可以进行的,否则假设今天我写了一段js去更改google的图标,明天他写了一段代码去吧google首页的文字全部变成梵文,那还得..【a href="" target="_blank"继续阅读全文/a】
]]
/description
link
![CDATA[
]]
/link
author
![CDATA[ charles_wang8888 ]]
/author
category
![CDATA[ Web开发 ]]
/category
pubDateTue, 08 May 2012 04:02:42 GMT/pubDate
/item
...
/channel
/rss
在阅读RSS使用java的问题问题,怎么解决
可能是XML的编码原因,百度的关键词订阅是GB2312 而分类订阅是UTF-8。
XmlReader reader = new XmlReader(url);
System.out.println("Rss源的编码格式为:" + reader.getEncoding());
后来想了想可能页面信息是UTF-8
转变思路
先下载页面,把RSS获取下来,再去解析,就OK了.
java中如何实现全文检索
java的开源的免费全文检索工具Lucene
Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。
Lucene的作者:Lucene的贡献者Doug Cutting是一位资深全文索引/检索专家,曾经是V-Twin搜索引擎(Apple的Copland操作系统的成就之一)的主要开发者,后在Excite担任高级系统架构设计师,目前从事于一些INTERNET底层架构的研究。他贡献出的Lucene的目标是为各种中小型应用程序加入全文检索功能。
Lucene的发展历程:早先发布在作者自己的,后来发布在SourceForge,2001年年底成为APACHE基金会jakarta的一个子项目:
已经有很多Java项目都使用了Lucene作为其后台的全文索引引擎,比较著名的有:
Jive:WEB论坛系统;
Eyebrows:邮件列表HTML归档/浏览/查询系统,本文的主要参考文档“TheLucene search engine: Powerful, flexible, and free”作者就是EyeBrows系统的主要开发者之一,而EyeBrows已经成为目前APACHE项目的主要邮件列表归档系统。
Cocoon:基于XML的web发布框架,全文检索部分使用了Lucene
Eclipse:基于Java的开放开发平台,帮助部分的全文索引使用了Lucene
对于中文用户来说,最关心的问题是其是否支持中文的全文检索。但通过后面对于Lucene的结构的介绍,你会了解到由于Lucene良好架构设计,对中文的支持只需对其语言词法分析接口进行扩展就能实现对中文检索的支持。
关于javarss全文和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。