BorderJ's Blog

          --- java FreeBsd Web3D open-sources

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            8 隨筆 :: 1 文章 :: 40 評論 :: 0 Trackbacks

          ??? 用了rome 0,8的jar包,代碼大部分來自于rome-samples-0.7 。
          對了,放個rome的鏈接Rome's Home,可以直接去下載。還有就是在用rome的時候,把信息輸出到xml文件里

          ,部分出現亂碼不知道是怎么回事,我讀的feed文件是utf-8的,我也是通過utf8讀的,但是還是有一部分亂碼。今天找了一天也沒有解決。。。

          ?1?/*
          ?2??*?Created?on?2006-7-11
          ?3??*
          ?4??*?TODO?To?change?the?template?for?this?generated?file?go?to
          ?5??*?Window?-?Preferences?-?Java?-?Code?Style?-?Code?Templates
          ?6??*/
          ?7?package?border;
          ?8?
          ?9?import?java.io.FileWriter;
          10?import?java.io.Writer;
          11?import?java.net.URL;
          12?import?java.util.List;
          13?
          14?import?com.sun.syndication.feed.synd.SyndContent;
          15?import?com.sun.syndication.feed.synd.SyndEntry;
          16?import?com.sun.syndication.feed.synd.SyndFeed;
          17?import?com.sun.syndication.fetcher.FeedFetcher;
          18?import?com.sun.syndication.fetcher.impl.FeedFetcherCache;
          19?import?com.sun.syndication.fetcher.impl.HashMapFeedInfoCache;
          20?import?com.sun.syndication.fetcher.impl.HttpURLFeedFetcher;
          21?import?com.sun.syndication.io.SyndFeedOutput;
          22?
          23?/**
          24??*?@author?Border
          25??*?
          26??*?TODO?To?change?the?template?for?this?generated?type?comment?go?to?Window?-
          27??*?Preferences?-?Java?-?Code?Style?-?Code?Templates
          28??*/
          29?public?class?RSSReader?{
          30?????private?static?final?String?feedType?=?"rss_2.0";
          31?
          32?????public?static?void?main(String[]?args)?throws?Exception?{
          33?
          34?????????String?filename?=?"E:\\ROME\\feed_fetcher2.xml";
          35?????????try?{
          36?????????????FeedFetcherCache?feedInfoCache?=?HashMapFeedInfoCache.getInstance();
          37?????????????FeedFetcher?feedFetcher?=?new?HttpURLFeedFetcher();
          38?????????????SyndFeed?feed?=?feedFetcher.retrieveFeed(new?URL(
          39?????????????????????"http://www.aygfsteel.com/border/Rss.aspx"));
          40?
          41?????????????feed.setFeedType(feedType);
          42?????????????feed.setTitle("Border's?Blog");
          43?????????????feed.setDescription("?java?Web3D?FreeBsd?");
          44?????????????feed.setAuthor("?By:border?");
          45?????????????feed.setLink("?http://www.aygfsteel.com/border?");
          46?
          47?????????????List?entryList?=?feed.getEntries();
          48?
          49?????????????for?(int?i?=?0;?i?<?entryList.size();?i++)?{
          50?????????????????SyndEntry?entry?=?(SyndEntry)?entryList.get(i);
          51?
          52?????????????????entry.setPublishedDate(entry.getPublishedDate());
          53?????????????????entry.setTitle(new?String(entry.getTitle().getBytes("utf-8")));
          54?????????????????entry.setLink(entry.getLink());
          55?
          56?????????????????SyndContent?content?=?entry.getDescription();
          57?????????????????content.setValue(new?String(content.getValue()
          58?????????????????????????.getBytes("utf-8")));
          59?????????????}
          60?????????????SyndFeedOutput?output?=?new?SyndFeedOutput();
          61?????????????Writer?writer?=?new?FileWriter(filename);
          62?????????????output.output(feed,?writer);
          63?
          64?????????????System.out.println("The?feed?has?been?written?to?the?file?["
          65?????????????????????+?filename?+?"]");
          66?????????????System.out.println("?ok?!");
          67?
          68?????????}?catch?(Exception?e)?{
          69?????????????System.out.println("ERROR:?"?+?e.getMessage());
          70?????????}
          71?????}
          72?}


          下面是生成的xml文件:

          ?1?<?xml?version="1.0"?encoding="UTF-8"?>
          ?2?<rss?xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"?xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"?xmlns:dc="http://purl.org/dc/elements/1.1/"?version="2.0">
          ?3???<channel>
          ?4?????<title>Border's?Blog</title>
          ?5?????<link>http://www.aygfsteel.com/border</link>
          ?6?????<description>java?Web3D?FreeBsd</description>
          ?7?????<language>zh-cn</language>
          ?8?????<pubDate>Thu,?06?Jul?2006?11:05:25?GMT</pubDate>
          ?9?????<dc:creator>By:border</dc:creator>
          10?????<dc:date>2006-07-06T11:05:25Z</dc:date>
          11?????<dc:language>zh-cn</dc:language>
          12?????<item>
          13???????<title>免費MySQL數據庫申譿</title>
          14???????<link>http://www.aygfsteel.com/border/archive/2006/07/06/57015.html</link>
          15???????<description>?&lt;a?&gt;&lt;img?alt=""?src="http://www.kuangfeng.cn/blog/wp-content/uploads/2006/03/db4free.jpg"?align="left"?border="0"?/&gt;&lt;/a&gt;&lt;br?/&gt;&lt;br?/&gt;&lt;br?/&gt;&lt;br?/&gt;&lt;a?&gt;Db4free&lt;/a&gt;:專業提供免費數據庫服務,支持?MySQL?5.0?5.1,支持使用Phpmyadmin進行管理,以后還將擴展支持PostgreSQL,?Firebird?等數據庫.&lt;img?src?="http://www.aygfsteel.com/border/aggbug/57015.html"?width?=?"1"?height?=?"1"?/&gt;&lt;br&gt;&lt;br&gt;&lt;div?align=right&gt;&lt;a?style="text-decoration:none;"?href="/border/"?target="_blank"&gt;Border&lt;/a&gt;?2006-07-06?19:05?&lt;a?href="/border/archive/2006/07/06/57015.html#Feedback"?target="_blank"?style="text-decoration:none;"&gt;發表評論&lt;/a&gt;&lt;/div&gt;</description>
          16???????<pubDate>Thu,?06?Jul?2006?11:05:00?GMT</pubDate>
          17???????<guid?isPermaLink="false">http://www.aygfsteel.com/border/archive/2006/07/06/57015.html</guid>
          18???????<dc:creator>Border</dc:creator>
          19???????<dc:date>2006-07-06T11:05:00Z</dc:date>
          20?????</item>
          21?????<item>
          22???????<title>剛剛大廈晃的利害,是不是有些地震叿?--??北京</title>
          23???????<link>http://www.aygfsteel.com/border/archive/2006/07/04/56502.html</link>
          24???????<description>??????剛剛大廈晃的利害,是不是有些地震叿?,在17層感覺比較厲害,不知道在北京的其他同志有沒有注意到?&lt;img?src?="http://www.aygfsteel.com/border/aggbug/56502.html"?width?=?"1"?height?=?"1"?/&gt;&lt;br&gt;&lt;br&gt;&lt;div?align=right&gt;&lt;a?style="text-decoration:none;"?href="/border/"?target="_blank"&gt;Border&lt;/a&gt;?2006-07-04?12:20?&lt;a?href="/border/archive/2006/07/04/56502.html#Feedback"?target="_blank"?style="text-decoration:none;"&gt;發表評論&lt;/a&gt;&lt;/div&gt;</description>
          25???????<pubDate>Tue,?04?Jul?2006?04:20:00?GMT</pubDate>
          26???????<guid?isPermaLink="false">http://www.aygfsteel.com/border/archive/2006/07/04/56502.html</guid>
          27???????<dc:creator>Border</dc:creator>
          28???????<dc:date>2006-07-04T04:20:00Z</dc:date>
          29?????</item>
          30?????<item>
          31???????<title>通過js等比擴大圖片的比伿</title>
          32???????<link>http://www.aygfsteel.com/border/archive/2006/07/03/56279.html</link>
          33???????<description>摘要:????在做web庿發的時?,顯示圖片是經常用到?在默認的情況下圖片是擴充,但是有的時?顯示效果會不如人意。有時容器的大小是固定的,我們要把圖片等比擴大?&lt;a?href='http://www.aygfsteel.com/border/archive/2006/07/03/56279.html'&gt;閱讀全文&lt;/a&gt;?&lt;img?src?="http://www.aygfsteel.com/border/aggbug/56279.html"?width?=?"1"?height?=?"1"?/&gt;&lt;br&gt;&lt;br&gt;&lt;div?align=right&gt;&lt;a?style="text-decoration:none;"?href="/border/"?target="_blank"&gt;Border&lt;/a&gt;?2006-07-03?12:13?&lt;a?href="/border/archive/2006/07/03/56279.html#Feedback"?target="_blank"?style="text-decoration:none;"&gt;發表評論&lt;/a&gt;&lt;/div&gt;</description>
          34???????<pubDate>Mon,?03?Jul?2006?04:13:00?GMT</pubDate>
          35???????<guid?isPermaLink="false">http://www.aygfsteel.com/border/archive/2006/07/03/56279.html</guid>
          36???????<dc:creator>Border</dc:creator>
          37???????<dc:date>2006-07-03T04:13:00Z</dc:date>
          38?????</item>
          39???</channel>
          40?</rss>
          41?
          42?


          By:border
          posted on 2006-07-12 18:37 BorderJ 閱讀(2441) 評論(7)  編輯  收藏 所屬分類: Java

          評論

          # re: 通過rome讀取feed,發現中文出現部分亂碼。。 2006-07-12 18:40 pesome
          hehe,我也一樣的問題。  回復  更多評論
            

          # re: 通過rome讀取feed,發現中文出現部分亂碼。。 2006-07-14 10:34 十分鐘年華老去
          控制臺上輸出一下看看結果先
          有不懂的地方看看這個rssowl的源碼,這里面寫的東西挺全的  回復  更多評論
            

          # re: 通過rome讀取feed,發現中文出現部分亂碼。。 2006-07-14 11:10 BorderJ
          輸出到控制臺不加任何字符轉換都可以正常顯示中文,用的是Eclipse ,text file encoding 是 GBK. 但是我把utf-8的轉成gbk的還是出現一些亂碼.

          rssowl的源碼剛down了下來。。  回復  更多評論
            

          # re: 通過rome讀取feed,發現中文出現部分亂碼。。 2006-08-03 15:57 Tin
          那個for循環好像沒有起什么作用。  回復  更多評論
            

          # re: 通過rome讀取feed,發現中文出現部分亂碼。。 2006-08-03 16:46 Tin
          剛才看了一下,其實不是任何轉碼的問題,而是feedFetcher返回的feed本身就出現了對空格識別不正確的問題。你在debug跟蹤的時候看到似乎字符沒有亂碼,但你看看char的數組,亂碼的地方是[63,63],也就是說按照Unicode重構這個字符串的時候會變成“??”,因為ascii的63就是“?”,其實說明feedFetcher此時已經解析出錯了,所以你后面的所有轉碼都于是無補的。我估計問題不在你的代碼,而在feedFetcher里面,具體的原因要去看feedFetcher的代碼了。希望這個結果對你有幫助。  回復  更多評論
            

          # re: 通過rome讀取feed,發現中文出現部分亂碼。。 2006-09-22 16:30 timtim
          我也是亂碼啊?

          有人解決了嗎?  回復  更多評論
            

          # re: 通過rome讀取feed,發現中文出現部分亂碼。。 2011-07-19 09:22 dan-ni-s-wu
          沒有解決  回復  更多評論
            

          主站蜘蛛池模板: 四川省| 五河县| 临泽县| 大同县| 安图县| 光泽县| 莆田市| 九台市| 镇赉县| 定西市| 都兰县| 雷州市| 高密市| 天祝| 苍南县| 赤峰市| 荆门市| 大石桥市| 肇庆市| 和顺县| 合山市| 邢台市| 靖安县| 绵竹市| 湟中县| 秦皇岛市| 兴山县| 纳雍县| 苍溪县| 皋兰县| 高雄市| 翼城县| 如东县| 罗山县| 芜湖市| 房产| 博客| 金塔县| 宿州市| 车致| 呈贡县|