All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
Delphi使用ODBC连接SQServer 2000数据库
C#中NotifyIcon控件应用实例
delphi组件的属性使用实例
IFRAME跨域名的解决方法,终结版(小张.NET原创)_[Asp.Net教程]
php中文本数据翻页(留言本翻页)_[PHP教程]
ASP.NET&Spring.NET&NHibernate最佳实践(三)——第2章环境准备_[Asp.Net教程]
SQL,SERVER中一些对象的名称更改_[SQL,Server教程]
PHP实例:用PHP实现XML备份Mysql数据库_[PHP教程]
SQL Server 2000 分布式事务错误解决_[SQL Server教程]
PHP数组的定义、初始化和数组元素的显示_php资料_编程技术
Reading number is top 10 pictures
Female model behind the bitterness, often being overcharged4
Kim jong il's mistress, national beauty JinYuJi actor3
移民小国也实惠1
到南昌西站了2
Discharge accidentally Actresses by the breast4
The wise woman of chest2
Summer is most suitable for young people to travel in China9
运动的范冰冰3
The money of more than 100 countries and regions2
青春清纯美女大集合4
Download software ranking
I'm come from Beijing2
I for your crazy
JSP+Ajax Web development typical examples
双旗镇刀客A
Sora aoi's film--cangkong_Blue.Sky
Unix video tutorial6
实战黑客不求人
Unix video tutorial9
XML+Web+Service开发教程
Such love down(擒爱记)
delv published in(发表于) 2014/1/6 9:04:15 Edit(编辑)
ASP.NET技巧:请求网址并解析返回的html_[Asp.Net教程]

ASP.NET技巧:请求网址并解析返回的html_[Asp.Net教程]

ASP.NET技巧:请求网址并解析返回的html_[Asp.Net教程]

目的,把远程服务器传回的Html,解析到类里面,为GridView等提供数据源

  1 、向远程服务器Post数据


public int PostData(string url, string data, out string info)
{
info = "";
CookieContainer cc = new CookieContainer();
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.CookieContainer = cc;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
Stream requestStream = request.GetRequestStream();
byte[] byteArray = Encoding.UTF8.GetBytes(data);
requestStream.Write(byteArray, 0, byteArray.Length);
requestStream.Close();
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
Uri responseUri = response.ResponseUri;
Stream receiveStream = response.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader(receiveStream, encode);
string result = readStream.ReadToEnd();
info = result;
return 0;
}


  2、解析返回的html,有省略


public ClassInfo[] GetClass(string html)
{
ArrayList ar = new ArrayList();
ArrayList arr = new ArrayList();
string table = "";
Regex regtable = new Regex(@"(?<=
).*?(?=
)", RegexOptions.Singleline);
Match ma = regtable.Match(html);
while (ma.Success)
{
if (ma.Value.Trim() != "")
{
arr.Add(HttpUtility.HtmlDecode(ma.Value));
}
ma = ma.NextMatch();
}
for (int i = 0; i < arr.Count; i++)
{
table = arr[i].ToString() + table;
}
Regex reg = new Regex(@"(?<=<.*?>).*?(?=<.*?>)", RegexOptions.Singleline);
Match m = reg.Match(table);
while (m.Success)
{
if (m.Value.Trim() != "")
{
ar.Add(HttpUtility.HtmlDecode(m.Value));
}
m = m.NextMatch();
}
ClassInfo[] ci = new ClassInfo[classno];
for (int i = 0; i < classno; i++)
{
ci[i] = new ClassInfo();
ci[i].RegisterDate = (ar[i * 8 + 0]).ToString();
ci[i].LoginDate = (ar[i * 8 + 1]).ToString();
ci[i].LogoutDate = (ar[i * 8 + 2]).ToString();
ci[i].UseMin = ar[i * 8 + 3].ToString();
ci[i].ClassName = ar[i * 8 + 5].ToString();
ci[i].ClassType = ar[i * 8 + 6].ToString();
ci[i].Percent = ar[i * 8 + 7].ToString();
}
return ci;
}


  3、定义ClassInfo类(课程类),用CodeSmith生成


public class ClassInfo
{
Member Variables#region Member Variables
protected string _loginDate;
protected string _logoutDate;
protected string _registerDate;
protected string _useMin;
protected string _className;
protected string _classType;
protected string _percent;
//protected string _nouse;
#endregion
Constructors#region Constructors
public ClassInfo() { }
public ClassInfo(string loginDate, string logoutDate, string registerDate, string useMin, string className, string classType, string percent)
{
this._loginDate = loginDate;
this._logoutDate = logoutDate;
this._registerDate = registerDate;
this._useMin = useMin;
this._className = className;
this._classType = classType;
this._percent = percent;
}
#endregion
Public Properties#region Public Properties
// public string NoUse
// {
// get{return _nouse;}
// set{ _nouse= value;}
// }
public string LoginDate
{
get { return _loginDate; }
set { _loginDate = value; }
}
public string LogoutDate
{
get { return _logoutDate; }
set { _logoutDate = value; }
}
public string RegisterDate
{
get { return _registerDate; }
set { _registerDate = value; }
}
public string UseMin
{
get { return _useMin; }
set { _useMin = value; }
}
public string ClassName
{
get { return _className; }
set
{
if (value != null && value.Length > 50)
throw new ArgumentOutOfRangeException("Invalid value for ClassName", value, value.ToString());
_className = value;
}
}
public string ClassType
{
get { return _classType; }
set
{
if (value != null && value.Length > 50)
throw new ArgumentOutOfRangeException("Invalid value for ClassType", value, value.ToString());
_classType = value;
}
}
public string Percent
{
get { return _percent; }
set
{
if (value != null && value.Length > 50)
throw new ArgumentOutOfRangeException("Invalid value for Percent", value, value.ToString());
_percent = value;
}
}
#endregion
}


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.