Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 310|回复: 0

[xml学习]RSS 开发教程

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-10 03:04:16 | 显示全部楼层 |阅读模式
    RSS(Really Simple Syndication,真正简单的连锁)是一种 Web 内容连锁格式。RSS 成为通过 Web 连锁新闻内容的标准格式。

         作为最近与 Sun Microsystems 签署合同的一部分,我负责开发任何懂得 RSS、JavaSErver Pages 和 HTML 的人便可以使用的“JSP 标签库”。taglib 主要面向用 RSS 收集新闻内容的 Web 站点的非技术性编辑人员。

           我的目标是开发在 Web 页中将简化使用 RSS 内容(0.91、0.92 和 2.0 版本)的 JSP 标签库。在这里单击便可以下载第一个版本。该 zip 文件包含一个 jar 文件
    1. rssutils.jar
    复制代码
    (该文件包含使用该工具所需的类)和一个 tld 文件(该文件定义从 RSS 文档中提取信息的
    1. JSP
    复制代码
    自定义标签)。
             RSS Utilities Package 是该项目的结果。它包括一套自定义 JSP 标签,这些标签弥补了 RSS Utilities Tag library 和灵活的 RSS 语法分析器。该文档说明了如何使用该语法分析器和 RSS Utilities Package 提供的库。
       
      
    安装 taglib 尽管使用标签库很容易,但在安装时要求您了解 Web 服务器的工作原理和如何去配置它。第一步是下载并解压包。一旦 zip 文件已经解压了,在 Web 应用程序的
    1. /WEB-INF/lib
    复制代码
    目录中放置一份
    1. rssutils.jar
    复制代码
    1. rsstaglib.tld 的副本。将下面的 taglib 定义添加至 Web 应用程序的 /WEB-INF/web.xml
    复制代码
    文件:
    1.     <taglib>
    2.         <taglib-uri>/WEB-INF/rssutils.tld</taglib-uri>
    3.         <taglib-location>/WEB-INF/rssutils.tld</taglib-location>
    4.     </taglib>
    5.                   
    复制代码
    使用 taglib 一旦
    1. taglib
    复制代码
    已经安装在 Web 应用程序中,按照以下步骤便可以在 JSP 页面中使用
    1. taglib。首先,将下面一行添加至 JSP 页面的顶部:
    复制代码
    1.     <%@ taglib uri="/WEB-INF/rssutils.tld" prefix="rss" %>
    2.                   
    复制代码
    其次,使用 feed 标签将 RSS feed 添加至 JSP 页面,如下例所示:
    1.    <rss:feed
    2. url="http://servlet.java.sun.com/syndication/rss_java_highlights-10.xml"
    3. feedId="javaSunCom"/>
    4.                   
    复制代码
      "feed" 标签的 url 属性必须包含到 RSS 文档的 URL。"feed" 标签的
    1. feedId
    复制代码
    属性是任意的,可以设置为任何值。然而,我们建议该属性在标识 RSS feed 时要直观。如果应用程序在防火墙后面,可以使用名为
    1. proxyAddress
    复制代码
    1. proxyPort
    复制代码
    的 "feed" 标签代理属性来设置代理属性。如果不知道代理服务器地址代理端口,请与网络管理员联系。下面是一个例子:
    1.     <rss:feed
    2. url="http://servlet.java.sun.com/syndication/rss_java_highlights-10.xml"
    3.       feedId="example1"
    4.       proxyAddress="129.149.246.4"
    5.       proxyPort="8080"/>
    6.                   
    复制代码

    一旦将一个或多个 RSS feed 添加到页面,您应能使用剩余的一套标签来从 feed 中提取几乎任何信息。下面是一个例子,说明如何提取在上面添加的 RSS feed 频道的标题:
    1. <rss:channelTitle feedId="javaSunCom"/>
    复制代码
    Taglib 示例 例 1 (RSS 0.91):  
    1. <rss:feed url="http://servlet.java.sun.com/syndication/rss_java_highlights-XYZCompany-10.xml" feedId="example1"/>
    2. <b>Image: </b><rss:channelImage feedId="example1" asLink="true"/><br>
    3. <b>Title: </b><rss:channelTitle feedId="example1"/><br>
    4. <b>Link: </b><rss:channelLink feedId="example1" asLink="true"/><br>
    5. <b>Description: </b><rss:channelDescription feedId="example1"/><br>
    6. <ul>
    7.   <li><rss:itemTitle feedId="example1" index="0"/><br>
    8.       <rss:itemDescription feedId="example1" index="0"/><br><br>
    9.   <li><rss:itemTitle feedId="example1" index="1"/><br>
    10.       <rss:itemDescription feedId="example1" index="1"/><br>
    11. </ul>
    12.                   
    复制代码

    例 2 (RSS 0.92):  
    1. <rss:feed url="http://static.userland.com/gems/backend/gratefulDead.xml" feedId="example2"/>
    2. <b>Image: </b><rss:channelImage feedId="example2"/><br>
    3. <b>Title: </b><rss:channelTitle feedId="example2"/><br>
    4. <b>Link: </b><rss:channelLink feedId="example2" asLink="true"/><br>
    5. <b>Description: </b><rss:channelDescription feedId="example2"/><br>
    6. <ul>
    7.   <rss:forEachItem feedId="example2">
    8.     <li><rss:itemDescription feedId="example2"/><br><br>
    9.   </rss:forEachItem>
    10. </ul>
    11.                   
    复制代码

    例 3 (RSS 2.0):  
    1. <rss:feed url="http://static.userland.com/gems/backend/rssTwoExample2.xml" feedId="example3"/>
    2. <b>Image: </b><rss:channelImage feedId="example3"/><br>
    3. <b>Title: </b><rss:channelTitle feedId="example3"/><br>
    4. <b>Link: </b><rss:channelLink feedId="example3" asLink="true"/><br>
    5. <b>Description: </b><rss:channelDescription feedId="example3"/><br>
    6. <b>Copyright: </b><rss:channelCopyright feedId="example3"/><br>
    7. <b>Docs: </b><rss:channelDocs feedId="example3"/><br>
    8. <b>Generator: </b><rss:channelGenerator feedId="example3"/><br>
    9. <b>Language: </b><rss:channelLanguage feedId="example3"/><br>
    10. <b>Last Build Date: </b><rss:channelLastBuildDate X-Virus: 1 feedId="example3"/><br>
    11. <b>Managing Editor: </b><rss:channelManagingEditor feedId="example3"/><br>
    12. <b>Pub Date: </b><rss:channelPubDate feedId="example3"/><br>
    13. X-Virus: 1
    14. <b>Skip Days: </b><rss:channelSkipDays feedId="example3"/><br>
    15. <b>Skip Hours: </b><rss:channelSkipHours feedId="example3"/><br>
    16. <b>TTL: </b><rss:channelTTL feedId="example3"/><br>
    17. <ul>
    18.   <rss:forEachItem feedId="example3" startIndex="2" endIndex="4">
    19.     <li><rss:itemDescription feedId="example3"/><br><br>
    20.   </rss:forEachItem>
    21. </ul>
    22.                   
    复制代码
    如何使用 RssParser? 从某种程度上看,语法分析器是该项目的副产品。尽管语法分析器是用标签库来开发的,但是它完全是自包含的,它可以在 java 应用程序中使用。然而,要做到这一点,显然您至少需要了解如何编写基本的 Java 代码。(如果您了解如何用 Java 语言编写 Hello World,就没什么问题了。) 首先下载并解压包。一旦将
    1. rssutils.jar
    复制代码
    添加至您的类路径,就请使用
    1. RssParserFactory
    复制代码
    创建
    1. RssParser
    复制代码
    接口的实例:
    1. RssParser parser = RssParserFactory.createDefault();
    2.             Rss rss = parser.parse(new
    3. URL("http://mydomain.com/document.rss"));
    4.                   
    复制代码
    语法分析器生成的 RSS 对象是位于提供的 URL 中的 RSS 文档的 Java 对象表示。使用 RSS 对象提供的方法以获得其它 RSS 对象的句柄,如 Channels 和 Items。
    1. RssParser
    复制代码
    也能够
    1. 分析 File
    复制代码
    对象和
    1. InputStream
    复制代码
    对象。 结束语 RSS 提供了一种简单的方法来添加和维护您的 Web 站点上来自所有 Web 的新闻及其它内容。即使 RSS 是简单的 XML 格式,在 Web 上的其他任何地方从 XML 文档中分析并提取数据都可能有点棘手――或者至少单调乏味――如果您不得不一遍又一遍地去做的话。RSS Utilities Package 利用 Custom Tag 和 XML Parsing 技术使 "Real Simple Syndication" 格式真正做到文如其名。  另请参阅

    A good blog on RSS from Harvard
    O"Reilly XML.com RSS info
    Sun"s Developer Content Syndication Program: Get Your RSS Feeds  


      
      
       
       

         
       

         
       
      


      










    源码下载:http://file.javaxxz.com/2014/10/10/030416531.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-17 10:20 , Processed in 0.421967 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表