rss在web開發過程中的全方位應用
簡介:這是rss在web開發過程中的全方位應用。的詳細頁面,介紹了和java,.net,rss,csdn,sun,entry,有關的知識,加入收藏請按鍵盤ctrl+D,謝謝大家的觀看!要檢視更多有關資訊,請點選此處
在web當中應用,要有以下兩個開發包,
jdom.jar:jdom開源專案中(http://www.jdom.org/)
rome.jar : rome開源專案中(http://wiki.java.net/bin/view/javawsxml/rome)
關於rss在javaweb中的應用,分為兩個步驟實施:
1.生成rss格式的xml檔案:
public class feedwriter {
public static void main(string[] args) { boolean ok = false; if (args.length==2) { try { string feedtype = args[0]; string filename = args[1]; dateformat dateparser = new simpledateformat(date_format); syndfeed feed = new syndfeedimpl(); //feed流 feed.setfeedtype(feedtype); //設定rss版本 feed.settitle("sample feed (created with rome)"); //< title>設定標題 feed.setlink(http://www.csdn.net); //< link> feed.setdescription("this feed has been created using rome (java syndication utilities"); list entries = new arraylist(); syndentry entry; syndcontent description; entry = new syndentryimpl(); //子節點 entry.settitle("rome v1.0"); entry.setlink(http://www.csdn.net); entry.setpublisheddate(dateparser.parse("2004-06-08")); description = new syndcontentimpl(); description.settype("text/plain"); description.setvalue("initial release of rome"); entry.setdescription(description); entries.add(entry); entry = new syndentryimpl(); entry.settitle("rome v2.0"); entry.setlink(http://ww.csdn.net); entry.setpublisheddate(dateparser.parse("2004-06-16")); description = new syndcontentimpl(); //描述 description.settype("text/xml"); description.setvalue("bug fixes, < xml>xml< /xml> minor api changes and some new features"); entry.setdescription(description); entries.add(entry); entry = new syndentryimpl(); entry.settitle("rome v3.0"); entry.setlink("http://www.csdn.net"); entry.setpublisheddate(dateparser.parse("2004-07-27")); description = new syndcontentimpl(); description.settype("text/html"); description.setvalue("< p>more bug fixes, mor api changes, some new features and some unit testing< /p>"+ "< p>for details check the < a href=\"http://www.csdn.net\">changes log< /a>< /p>"); entry.setdescription(description); entries.add(entry); feed.setentries(entries); //設定子節點 writer writer = new filewriter(filename); syndfeedoutput output = new syndfeedoutput(); output.output(feed,writer); //寫到檔案中去 writer.close(); system.out.println("the feed has been written to the file ["+filename+"]"); ok = true; } catch (exception ex) { ex.printstacktrace(); system.out.println("error: "+ex.getmessage()); } } if (!ok) { system.out.println(); system.out.println("feedwriter creates a rss/atom feed and writes it to a file."); system.out.println("the first parameter must be the syndication format for the feed"); system.out.println(" (rss_0.90, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0 rss_2.0 or atom_0.3)"); system.out.println("the second parameter must be the file name for the feed"); system.out.println(); } } } |
< %@page contenttype="text/html"%>
< %@page pageencoding="utf-8"%> < html> < head> < meta http-equiv="content-type" content="text/html; charset=utf-8"> < title>sina news< /title> < /head> < body> < % java.util.properties systemsettings = system.getproperties(); systemsettings.put("http.proxyhost", "mywebcache.com"); systemsettings.put("http.proxyport", "8080"); system.setproperties(systemsettings); string urlstr = "http://rss.sina.com.cn/news/marquee/ddt.xml"; java.net.urlconnection feedurl = new java.net.url(urlstr).openconnection(); feedurl.setrequestproperty("user-agent", "mozilla/4.0 (compatible; msie 5.0; windows nt; digext)"); com.sun.syndication.io.syndfeedinput input = new com.sun.syndication.io.syndfeedinput(); com.sun.syndication.feed.synd.syndfeed feed = input.build(new com.sun.syndication.io.xmlreader(feedurl)); %> < div align="center"> < h1>< %=feed.gettitle()%>< /h1> < table border=1 cellpadding=3 width="700"> < tr> < th>number< /th> < th>title< /th> < th>time< /th> < /tr> < % java.util.list list = feed.getentries(); for (int i=0; i< list.size(); i++) { com.sun.syndication.feed.synd.syndentry entry = (com.sun.syndication.feed.synd.syndentry)list.get(i); %> < tr> < td>< %=i+1%>< /td> < td>< a href="< %=entry.getlink()%>">< %=entry.gettitle()%>< /a>< /td> < td>< %=entry.getpublisheddate()%>< /td> < /tr> < %}%> < /table> < /div> < br> < /body> < /html> |
相關文章
- ORACLE 陣列在過程中的應用Oracle陣列
- WEB應用開發中的ServletWebServlet
- puppeteer在開發過程中的實踐
- 淺談canvas在web開發中的應用與優化CanvasWeb優化
- JSON資料格式及其在WEB開發中的應用JSONWeb
- web開發實戰教程:Apache Shiro在web專案中的應用WebApache
- Node助力Web應用開發——在新的開發平臺,打造高效能Web應用Web
- VS 2017開發ASP.NET Core Web應用過程中發現的一個重大BugASP.NETWeb
- 移動應用開發過程中的迭代式原型設計原型
- Web應用開發中的幾個問題Web
- 開發Web應用Web
- 類簇在iOS開發中的應用iOS
- 在安卓開發中開始應用NFC安卓
- 探討敏捷開發在軟體開發中的應用敏捷
- web開發安全框架中的Apache Shiro的應用Web框架Apache
- Runtime在實際開發中的應用
- “自釋放”在iOS開發中的應用iOS
- 在開發過程中終止一個專案的想法
- 開發Web應用程式中Cookie使用的問題 (轉)WebCookie
- BurpSuite在非Web應用測試中的應用UIWeb
- RxJava在安卓開發中應用原始碼RxJava安卓原始碼
- TypeScript 在開發應用中的實踐總結TypeScript
- 正規表示式在iOS開發中的應用iOS
- 資料庫開發程式設計師在開發過程中的注意事項資料庫程式設計師
- AIGC資訊保安-在應用系統中安全防範過程實踐應用AIGC
- HTML5簡化移動應用開發過程HTML
- Web應用的元件化開發(一)Web元件化
- Web應用的元件化開發(二)Web元件化
- web應用中通過偽列排序Web排序
- SPC在航空航天緊韌體製造過程中的應用
- IoC在ASP.NET Web API中的應用ASP.NETWebAPI
- mpvue & 小程式開發過程中的坑Vue
- 記錄在使用Django開發過程中遇到的問題No.2Django
- 機器學習將在遊戲開發中的6種應用機器學習遊戲開發
- 前沿探索|AI 在 API 開發測試中的應用AIAPI
- Docker在PHP專案開發環境中的應用DockerPHP開發環境
- 構件技術在MIS開發中的應用(轉)
- 基於複用的軟體開發過程中的配置管理