blogjava's web log
blogjava's web log
...
讀新浪博客示例[源代碼下載]
??????????? 當(dāng)然。只是個DEMO. 功能還是很簡單。BUG? 也不少。有興趣你可以下載 自己再改改。
?界面:
閱讀界面:
關(guān)鍵代碼:
?
public
??
static
?ArrayList?read(
string
?url,?HttpWebRequest?request,?
bool
?isFirst)
????????
{
????????????Stream?stream?
=
?
null
;
????????????Uri?uri?
=
?
new
?Uri(url);
????????????
switch
?(uri.Scheme)
????????????
{
????????????????
case
?
"
file
"
:
????????????????????
break
;
????????????????
case
?
"
https
"
:
????????????????????
goto
?
case
?
"
http
"
;
????????????????
case
?
"
http
"
:
????????????????????
if
?(request?
==
?
null
)
????????????????????????request?
=
?(HttpWebRequest)WebRequest.Create(uri);
????????????????????
try
????????????????????
{
????????????????????????HttpWebResponse?response?
=
?(HttpWebResponse)request.GetResponse();
????????????????????????
try
????????????????????????
{
????????????????????????????
if
?(response.ContentEncoding?
!=
?
""
)
????????????????????????Encoding.GetEncoding(response.ContentEncoding);
????????????????????????}
????????????????????????
catch
?
{?}
????????????????????????stream?
=
?response.GetResponseStream();
????????????????????}
????????????????????
catch
?(WebException?we)
????????????????????
{
????????????????????}
????????????????????
break
;
????????????}
????????????ArrayList?list?
=
?
null
;
????????????
if
?(stream?
!=
?
null
)
????????????
{
????????????????RssSina?rssSina?
=
?
new
?RssSina(stream);
????????????????list
=
?rssSina.Read(isFirst);
????????????????rssSina.Close();
???????????????????
???????
????????????}
????????????
return
?list;
???????????
????????}
分析 新浪的RSS? 就是用的這個方法了。
??????
/**/
///
?
<summary>
????????
///
?Read?rss
????????
///
?
</summary>
????????
///
?
<returns></returns>
????????
public
?ArrayList?Read(
bool
?isFirst)
????????
{
????????????
int
?i?
=
?
0
;
????????????StringBuilder?sb?
=
?
new
?StringBuilder();
????????????
bool
?readData?
=
?
false
;
????????????
if
?(reader?
!=
?
null
)
????????????
{
????????????????
do
????????????????
{
????????????????????pushElement?
=
?
true
;
????????????????????readData?
=
?reader.Read();
????????????????????
string
?readerName?
=
?reader.Name.ToLower();
????????????????????
switch
?(reader.NodeType)
????????????????????
{
??????????????????
????????????????????????
case
?XmlNodeType.Element:
????????????????????????????
{
????????????????????????????????elementText?
=
?
new
?StringBuilder();
????????????????????????????????
if
?(reader.IsEmptyElement)
????????????????????????????????????
break
;
????????????????????????????????
if
?(pushElement)
????????????????????????????????????xmlNodeStack.Push(readerName);
????????????????????????????????
break
;
????????????????????????????}
????????????????????????
case
?XmlNodeType.EndElement:
????????????????????????????
{
????????????????????????????????
if
?(xmlNodeStack.Count?
==
?
1
)
????????????????????????????????????
break
;
????????????????????????????????
string
?childElementName?
=
?(
string
)xmlNodeStack.Pop();
????????????????????????????????
string
?parentElementName?
=
?(
string
)xmlNodeStack.Peek();
????????????????????????????????
switch
?(childElementName)
????????????????????????????????
{
????????????????????????????????????
item?classes
#region
?item?classes
????????????????????????????????????
case
?
"
rss
"
:
????????????????????????????????????????readData?
=
?
false
;
????????????????????????????????????????
break
;
????????????????????????????????????
case
?
"
channel
"
:?;
????????????????????????????????????????readData?
=
?
false
;
????????????????????????????????????????
break
;
????????????????????????????????????
#endregion
????????????????????????????????}
????????????????????????????????
switch
?(parentElementName)
????????????????????????????????
{
???????????????????????????????????????
????????????????????????????????????
case
?
"
sns:a
"
:
????????????????????????????????????????
switch
?(childElementName)
????????????????????????????????????????
{
????????????????????????????????????????????
case
?
"
sns:href
"
:
????????????????????????????????????????????????
if
?(isFirst)
????????????????????????????????????????????????
{
???????????????????????????????????????????????????
????????????????????????????????????????????????????
if
?(
!
pageList.Contains(elementText.ToString())?
&&
?elementText.ToString().Length?
!=
?
0
)
????????????????????????????????????????????????????
{
????????????????????????????????????????????????????????
????????????????????????????????????????????????????????pageList.Add(elementText.ToString());
????????????????????????????????????????????????????}
???????????????????????????????????????????????????
????????????????????????????????????????????????}
????????????????????????????????????????????????
break
;
????????????????????????????????????????}
????????????????????????????????????????
break
;
????????????????????????????????????????
????????????????????????????????????
case
?
"
item
"
:
????????????????????????????????????????
switch
?(childElementName)
????????????????????????????????????????
{
????????????????????????????????????????????
case
?
"
title
"
:
???????????????????????????????????????????????
//
?listTitle.Add(elementText.ToString());
????????????????????????????????????????????????
break
;
????????????????????????????????????????????
case
?
"
link
"
:
???????????????????????????????????????????????linkList.Add(elementText.ToString());
????????????????????????????????????????????????
break
;
????????????????????????????????????????????
case
?
"
description
"
:
????????????????????????????????????????????????
break
;
????????????????????????????????????????????
case
?
"
sns:pubDate
"
:
????????????????????????????????????????????????
break
;
????????????????????????????????????????}
????????????????????????????????????????
break
;
????????????????????????????????}
????????????????????????????????
break
;
????????????????????????????}
????????????????????????????
case
?XmlNodeType.Text:
????????????????????????????
{
????????????????????????????????elementText.Append(reader.Value);
????????????????????????????????
break
;
????????????????????????????}
????????????????????????????
case
?XmlNodeType.CDATA:
????????????????????????????
{
????????????????????????????????elementText.Append(reader.Value);
????????????????????????????????i
++
;
????????????????????????????????
break
;
????????????????????????????}
????????????????????}
????????????????}
????????????????
while
?(readData);
????????????????
????????????}
????????????listCont.Add(linkList);
????????????
if
(pageList.Count
!=
0
)
????????????????listCont.Add(pageList);
????????????
return
?listCont;
????????}
詳細 請下載源代碼研究。。
地址
http://www.tkk7.com/Files/wujun/WjSinaArticlesDemo.rar
點擊這里直接下載
posted on 2006-10-23 15:50
record java and net
閱讀(696)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
導(dǎo)航
首頁
聯(lián)系
聚合
管理
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(44)
給我留言
查看公開留言
查看私人留言
新聞檔案
2007年5月 (1)
2007年4月 (1)
2007年3月 (4)
2007年1月 (8)
2006年12月 (16)
2006年11月 (3)
2.動態(tài)語言
IronPython
JRuby
Python
Rails Framework Documentation
Ruby Central
Ruby on rails
Ruby On Rails中文社區(qū)
Ruby 中文社區(qū)
Ruby_cn (blog)
ruby-doc
Rubyforge
Ruby-lang
3.工具箱
computer performance
寫字找圖片
網(wǎng)站歷史查詢
驅(qū)動
9.
文檔教程
Free Computer Books
New!
Spring2.0中文參考手冊
New
Apache ant1.6.2源代碼
Apache2.2 文檔
Dhtml參考
hibernate三中文文檔
java api
javascript參考
mysql中文文檔
NHibernate 1.2文檔
Spring - Framework
spring--教程
spring源代碼學(xué)習(xí)
XPath 教程
夏昕ibatis
夏昕的Hibernate
夏昕的Spring
友情鏈接
搬家公司
討債公司
搜索
最新評論
1.?re: 周公解夢夢見豬血灑頭上手上
不錯
--娟娟
Powered by:
BlogJava
Copyright © record java and net
主站蜘蛛池模板:
99久在线国内在线播放免费观看
|
最近免费中文字幕视频高清在线看
|
亚洲av激情无码专区在线播放
|
18pao国产成视频永久免费
|
美女视频黄频a免费
|
国产精品视频免费一区二区
|
国产伦一区二区三区免费
|
国产午夜免费高清久久影院
|
亚洲中字慕日产2020
|
99re视频精品全部免费
|
亚洲AV无码一区二区大桥未久
|
亚洲啪啪AV无码片
|
成人无码视频97免费
|
亚洲最大黄色网站
|
国外亚洲成AV人片在线观看
|
美女内射无套日韩免费播放
|
亚洲AV网一区二区三区
|
精品亚洲成a人片在线观看
|
免费国产高清视频
|
5g影院5g天天爽永久免费影院
|
国产大片91精品免费观看不卡
|
免费v片在线观看品善网
|
色欲色香天天天综合网站免费
|
免费亚洲视频在线观看
|
亚洲天堂福利视频
|
亚洲AV无码一区二区乱孑伦AS
|
8x8x华人永久免费视频
|
国产成人精品日本亚洲网址
|
波多野结衣久久高清免费
|
国产大片91精品免费观看不卡
|
香蕉免费在线视频
|
国产精品日本亚洲777
|
亚洲天堂福利视频
|
精品亚洲成a人片在线观看
|
91麻豆国产自产在线观看亚洲
|
亚洲av麻豆aⅴ无码电影
|
两个人看的www高清免费观看
|
日韩精品一区二区亚洲AV观看
|
国产精品V亚洲精品V日韩精品
|
222www免费视频
|
国产精品偷伦视频观看免费
|