asp.net+js实时奥运金牌榜代码

 更新时间:2008年09月09日 13:17:14   作者:  
运期间,公司交给我一个任务,在公司主页上放上奥运金牌榜的排名,之前的实现方式是采用ajax

复制代码 代码如下:

<div id="gold">
<p>截止到9月09日09:46为止,<a href="http://2008.baidu.com/olympic/medal/list" target="_blank">北京奥运金牌榜</a>前五名如下:</p>
<table id="go" cellpadding="2" cellspacing="0">
<tr><th>名次</th><th>国家及地区</th><th>金牌</th><th>银牌</th><th>铜牌</th><th>总计</th></tr>
<tr><td>1</td><td><a href="http://2008.baidu.com/olympic/winner/list/c/203" target="_blank">中国</a></td><td>51</td><td>21</td><td>28</td><td>100</td></tr><tr><td>2</td><td><a href="http://2008.baidu.com/olympic/winner/list/c/116" target="_blank">美国</a></td><td>36</td><td>38</td><td>36</td><td>110</td></tr><tr><td>3</td><td><a href="http://2008.baidu.com/olympic/winner/list/c/50" target="_blank">俄罗斯</a></td><td>23</td><td>21</td><td>28</td><td>72</td></tr><tr><td>4</td><td><a href="http://2008.baidu.com/olympic/winner/list/c/195" target="_blank">英国</a></td><td>19</td><td>13</td><td>15</td><td>47</td></tr><tr><td>5</td><td><a href="http://2008.baidu.com/olympic/winner/list/c/45" target="_blank">德国</a></td><td>16</td><td>10</td><td>15</td><td>41</td></tr>
</table>
</div>

比较下我们要实现的样式:(紫红色部分与上面要偷的数据对应)

实现步骤如下:
1、先读取整个页面的html代码: 
复制代码 代码如下:

//用来存放接受到的每一行数据
string content = "";

//接受到的是字节流
Stream str;

//提供向URI标识的资源发送数据和从URI标识的资源接受数据的公共方法
WebClient web = new WebClient();

//从指定的URI中下载数据并打开流
str = web.OpenRead("http://www.baidu.com/s?wd=%B0%C2%D4%CB%BD%F0%C5%C6%B0%F1&lm=0&si=&rn=10&ie=gb2312&ct=0&cl=3&f=1&rsp=0");

//以GB2312编码从字节流中读取数据
StreamReader sr = new StreamReader(str, Encoding.GetEncoding("GB2312"));

//把数据全部读出来
content = sr.ReadToEnd();

2、对其进行过滤和替换只提取我们需要的部分,这部分我正则不行,写得有点乱:
复制代码 代码如下:

Regex r = new Regex(@"<tr><th>名次</th><th>国家及地区</th><th>金牌</th><th>银牌</th><th>铜牌</th><th>总计</th></tr>[\s\S]+?</table>");
Match m = r.Match(content); //匹配字符串
GroupCollection gc = m.Groups;

Regex rb = new Regex("</?(a|A)( .*?>|>)");
string soutput = rb.Replace(gc[0].ToString(), "");
soutput = soutput.Replace("<tr><th>名次</th><th>国家及地区</th><th>金牌</th><th>银牌</th><th>铜牌</th><th>总计</th></tr>", "");
soutput = soutput.Replace("</table>","");

Regex rc = new Regex("<td>[1,2,3,4,5]</td>");
soutput = rc.Replace(soutput,"");

3、这样样式比较难控制,水平也有限,只用JS实现了。 
复制代码 代码如下:

<script type ="text/javascript">
window.onload = function(){
var tr_ = document.getElementById("myTable").getElementsByTagName("tr");
var td_;
for(var i = 0;i < tr_.length; i ++){
tr_[i].style.backgroundColor = i%2==0?"#FFF4C7":"#FEEAAE";
if(i > 0){
td_ = tr_[i].getElementsByTagName("td")[0].style.textAlign = "center";
}
if(i == 4){
tr_[4].style.display = "none";
}
}

//第一个单元格居中

}
</script>

相关文章

  • ASP.NET开发者使用jQuery应该了解的几件事情

    ASP.NET开发者使用jQuery应该了解的几件事情

    如果你是有着APS.NET开发背景的人员,那么jQuery的几个概念建议你应该忘掉。像使用其它的framework一样,你应该学习一下jQuery的所有语法等约定来让它更好的为你服务。
    2009-09-09
  • WebApiClient的接口输入验证方法

    WebApiClient的接口输入验证方法

    这篇文章主要介绍了WebApiClient的接口输入验证方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Discuz!NT 3与asp.net 整合的实例教程

    Discuz!NT 3与asp.net 整合的实例教程

    本次整合只针对NETSNS中的代码做了少许修改,完成了基本的和论坛同步注册,登陆和注销,信息获取,信息修改。为的是给各位Discuz!NT API爱好者做一个简单的API事例,供大家参考。
    2009-11-11
  • ASP.NET获取URL方法汇总

    ASP.NET获取URL方法汇总

    本文主要介绍ASP.NET获取URL的各种方法,希望能给需要的朋友一些帮助。
    2016-04-04
  • .Net 调用存储过程取到return的返回值

    .Net 调用存储过程取到return的返回值

    存储过程只能返回 int 类型,如果返回一个字符串 ,将会报类型转化错误,下面以示例介绍下如何取到return的值,需要的朋友可以参考下
    2014-08-08
  • Visual Studio 2017 RC 初探安装教程

    Visual Studio 2017 RC 初探安装教程

    这篇文章主要为大家详细介绍了Visual Studio 2017 RC初探安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 理解ASP.NET Core 错误处理机制(Handle Errors)

    理解ASP.NET Core 错误处理机制(Handle Errors)

    这篇文章主要介绍了理解ASP.NET Core 错误处理(Handle Errors) ,在这里需要注意的是,与“异常处理”有关的中间件,一定要尽早添加,这样,它可以最大限度的捕获后续中间件抛出的未处理异常。感兴趣的朋友跟随小编一起看看吧
    2021-11-11
  • Asp.Net URL重写的具体实现

    Asp.Net URL重写的具体实现

    这篇文章主要介绍了Asp.Net URL重写的具体实现,有需要的朋友可以参考一下
    2014-01-01
  • ASP.NET WebForm中<%=%>与<%#%>的区别

    ASP.NET WebForm中<%=%>与<%#%>的区别

    这篇文章主要介绍了ASP.NET WebForm中<%=%>与<%#%>的区别,需要的朋友可以参考下
    2015-01-01
  • ASP.NET中的URL过滤实现代码

    ASP.NET中的URL过滤实现代码

    最近做的一个Web项目需要对URL进行过滤,在网上搜了一下,知道J2EE有个Filter的东西,而在.NET方面,其实也可以实现
    2013-01-01

最新评论