| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2454 人关注过本帖
标题:[求助]如何做一个新闻小偷呢
取消只看楼主 加入收藏
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 

[CODE]
string stringUrl="http://rss.news.sohu.com/rss/pfocus.xml";
WebClient astoWebClient = new WebClient();
//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。有无都可以
astoWebClient.Credentials = CredentialCache.DefaultCredentials;
Byte[] pageData = astoWebClient.DownloadData(stringUrl);//从指定网站下载数据

string pageHtml = Encoding.Default.GetString(pageData); //获取的网站页面采用的是GB2312格式
[/CODE]

我用这段代码已经可以把XML数据读到pageHtml里去了
往下怎么写


此号自封于2006年11月30日
2006-08-30 14:38
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
我是把我读到的内容保存成 ***.xml吗?
还是直接把我读到的串进行加工呢?

此号自封于2006年11月30日
2006-08-30 14:41
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 

string stringUrl="http://rss.news.sohu.com/rss/pfocus.xml";

XmlDocument doc=new XmlDocument ();
doc.Load (stringUrl);

如果我这样写的话
那系统就会把这个XML下载下来保存吗


此号自封于2006年11月30日
2006-08-30 14:55
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 

[CODE] string stringUrl="http://rss.news.sohu.com/rss/pfocus.xml";
WebClient astoWebClient = new WebClient();
//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。有无都可以
astoWebClient.Credentials = CredentialCache.DefaultCredentials;
Byte[] pageData = astoWebClient.DownloadData(stringUrl);//从指定网站下载数据

string pageHtml = Encoding.Default.GetString(pageData); //获取的网站页面采用的是GB2312格式
//string pageHtml = Encoding.UTF8.GetString(pageData); //获取的网站页面采用的是UTF-8格式
string temp=string.Empty ;
XmlTextReader reader = new XmlTextReader(stringUrl);
while ( reader.Read() )
{
temp+=reader.Name ;

}[/CODE]

我刚试了以上这个代码
DEBUG的时候就可以看到
可以把读到的结点的头保存在temp里了


此号自封于2006年11月30日
2006-08-30 14:58
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
以下是引用chenjin145在2006-8-30 14:57:13的发言:

在doc對象中
再通過doc對象處理 簡單多了

string stringUrl="http://rss.news.sohu.com/rss/pfocus.xml";
XmlDocument doc=new XmlDocument ();
doc.Load (stringUrl);

加载后如何处理呢?>
我刚调试看了已经把这个XML放到DOC里去了


此号自封于2006年11月30日
2006-08-30 15:02
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
以下是引用mylover624在2006-8-30 14:51:52的发言:

如果数据不是很大的话,我觉得直接加工好一点.

恩 毕竟新闻网页不是很大 读完就扔


此号自封于2006年11月30日
2006-08-30 15:04
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
以下是引用chenjin145在2006-8-30 15:05:53的发言:
取根
取節點
取屬性
看哪文件是怎麼樣就怎麼取啊
你寫完了再貼上來下

说的挺简单
俺可是第一次读袄


此号自封于2006年11月30日
2006-08-30 15:07
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
看看我目前的效果
已经可以读出所有结点的值了
不过人家原本的是图片新闻的
我再改造改造
图片附件: 游客没有浏览图片的权限,请 登录注册


此号自封于2006年11月30日
2006-08-30 15:25
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 

[CODE]
XmlTextReader reader=new XmlTextReader (stringUrl);
reader.WhitespaceHandling =WhitespaceHandling.None ;
XmlDocument doc=new XmlDocument ();
doc.Load (reader);
XmlNode xnod=doc.DocumentElement ;

Response.Write ("<br><br>");
Display(xnod);
}
void Display(XmlNode xnod)
{
if(xnod.HasChildNodes )
{
for(int i=0;i<xnod.ChildNodes .Count ;i++)
Display(xnod.ChildNodes [i]);
}
else
{
if(xnod.ParentNode .LocalName.ToLower () =="title")
{
Response.Write ("<br>");
Response.Write ( "<h3>" + xnod.InnerText +"</h3>" );
}
else if(xnod.ParentNode .LocalName.ToLower () =="link")
{
Response.Write ("<br>");
Response.Write ( "<link>" + xnod.InnerText +"</link>" );
}
else
{
Response.Write (xnod.InnerText );
}
}
}[/CODE]

目前我用这个打印读取的东西


此号自封于2006年11月30日
2006-09-01 13:18
快速回复:[求助]如何做一个新闻小偷呢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017973 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved