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
閱讀(701)
評論(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
主站蜘蛛池模板:
美女被爆羞羞网站在免费观看
|
亚洲videosbestsex日本
|
亚洲精品无码一区二区
|
免费无码又爽又刺激高潮视频
|
国产亚洲精品美女久久久
|
你懂的网址免费国产
|
亚洲日韩aⅴ在线视频
|
中文字幕一区二区免费
|
亚洲AV无码久久寂寞少妇
|
久久精品视频免费看
|
亚洲福利视频网址
|
成人免费AA片在线观看
|
亚洲欧美黑人猛交群
|
四虎成人精品在永久免费
|
色哟哟国产精品免费观看
|
亚洲夜夜欢A∨一区二区三区
|
18禁在线无遮挡免费观看网站
|
亚洲精品日韩专区silk
|
毛片大全免费观看
|
国产成人精品日本亚洲语音
|
99国产精品视频免费观看
|
亚洲精品视频免费在线观看
|
野花高清在线观看免费完整版中文
|
亚洲性无码AV中文字幕
|
深夜国产福利99亚洲视频
|
高清一区二区三区免费视频
|
亚洲明星合成图综合区在线
|
日韩成人免费aa在线看
|
一本久久A久久免费精品不卡
|
亚洲AV无码久久精品成人
|
国产免费内射又粗又爽密桃视频
|
亚洲成在人线av
|
久久久久久国产精品免费免费
|
精品在线免费视频
|
亚洲国产精彩中文乱码AV
|
免费看黄视频网站
|
视频免费1区二区三区
|
亚洲白嫩在线观看
|
男人的天堂亚洲一区二区三区
|
激情五月亚洲色图
|
四虎影库久免费视频
|