blogjava's web log
blogjava's web log
...
讀新浪博客示例[源代碼下載]
??????????? 當然。只是個DEMO. 功能還是很簡單。BUG? 也不少。有興趣你可以下載 自己再改改。
?界面:
閱讀界面:
關鍵代碼:
?
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://m.tkk7.com/Files/wujun/WjSinaArticlesDemo.rar
點擊這里直接下載
posted on 2006-10-23 15:50
record java and net
閱讀(696)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
導航
首頁
聯系
聚合
管理
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(44)
給我留言
查看公開留言
查看私人留言
新聞檔案
2007年5月 (1)
2007年4月 (1)
2007年3月 (4)
2007年1月 (8)
2006年12月 (16)
2006年11月 (3)
2.動態語言
IronPython
JRuby
Python
Rails Framework Documentation
Ruby Central
Ruby on rails
Ruby On Rails中文社區
Ruby 中文社區
Ruby_cn (blog)
ruby-doc
Rubyforge
Ruby-lang
3.工具箱
computer performance
寫字找圖片
網站歷史查詢
驅動
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源代碼學習
XPath 教程
夏昕ibatis
夏昕的Hibernate
夏昕的Spring
友情鏈接
搬家公司
討債公司
搜索
最新評論
1.?re: 周公解夢夢見豬血灑頭上手上
不錯
--娟娟
Powered by:
BlogJava
Copyright © record java and net
主站蜘蛛池模板:
亚洲综合免费视频
|
亚洲一区日韩高清中文字幕亚洲
|
中文字幕亚洲乱码熟女一区二区
|
亚洲精品自产拍在线观看动漫
|
成人免费av一区二区三区
|
免费一区二区视频
|
特级一级毛片免费看
|
四只虎免费永久观看
|
免费毛片毛片网址
|
国产国拍亚洲精品福利
|
国产国产人免费视频成69大陆
|
亚洲精品免费网站
|
永久黄网站色视频免费直播
|
亚洲爆乳成av人在线视菜奈实
|
国产精品色午夜免费视频
|
亚洲丰满熟女一区二区哦
|
亚洲A∨午夜成人片精品网站
|
一级一级一片免费高清
|
亚洲国产婷婷六月丁香
|
91香蕉国产线在线观看免费
|
亚洲婷婷在线视频
|
免费看AV毛片一区二区三区
|
国产亚洲人成在线影院
|
亚洲区小说区图片区QVOD
|
99久久99久久免费精品小说
|
亚洲一级毛片视频
|
国产免费人视频在线观看免费
|
免费一级毛片在线播放放视频
|
亚洲精品视频免费看
|
亚洲熟妇成人精品一区
|
亚洲欧洲中文日韩久久AV乱码
|
久久国产免费观看精品
|
亚洲黄页网在线观看
|
亚洲午夜成人精品电影在线观看
|
国产一区二区三区免费
|
激情综合亚洲色婷婷五月
|
亚洲不卡无码av中文字幕
|
无码少妇精品一区二区免费动态
|
色天使亚洲综合在线观看
|
综合亚洲伊人午夜网
|
国产成在线观看免费视频
|