首页 新闻 会员 周边 捐助

取出标签里的数据

0
悬赏园豆:30 [已解决问题] 解决于 2013-03-19 09:40

有段html代码  <table border="0" cellpadding="5" cellspacing="0" width="100%" class="ms-listviewtable"><tr><th class="ms-vh2">No</th><th class="ms-vh2">Name</th><th class="ms-vh2">Description</th><th class="ms-vh2">File Revision</th><th class="ms-vh2">File Size</th></tr><tr><td class="ms-vb2">1</td><td class="ms-vb2"><a href="http://sharenet.hqcec.com/dms/default.aspx?link=pw%3A%5C%5Cpw-int-hqbj%3Apw%5CDocuments%5C5043E%5C(C)%3A%20Exchange%20Area%5C02.%20Engineering%5C03%20Water%20Process%5C0002-00-15-B-E-3-33-001_PB%5C0002-00-15-121-B-E-3-33-001_PB%20COVER.doc" target="_blank">0002-00-15-121-B-E-3-33-001_PB COVER.doc</a></td><td class="ms-vb2">0002-00-15-121-B-E-3-33-001_PB COVER</td><td class="ms-vb2"></td><td class="ms-vb2">180224</td></tr><tr><td class="ms-vb2">2</td><td class="ms-vb2"><a href="http://sharenet.hqcec.com/dms/default.aspx?link=pw%3A%5C%5Cpw-int-hqbj%3Apw%5CDocuments%5C5043E%5C(C)%3A%20Exchange%20Area%5C02.%20Engineering%5C03%20Water%20Process%5C0002-00-15-B-E-3-33-001_PB%5C0002-00-15-121-B-E-3-33-001_PB.xls" target="_blank">0002-00-15-121-B-E-3-33-001_PB.xls</a></td><td class="ms-vb2">0002-00-15-121-B-E-3-33-001_PB</td><td class="ms-vb2"></td><td class="ms-vb2">204800</td></tr></table>  想办法取出所有<a>标签的数据拼成字段  求助,什么方法都行

问题补充:

需要后台代码搞定

miloss的主页 miloss | 菜鸟二级 | 园豆:254
提问于:2013-02-27 10:47
< >
分享
最佳答案
0

<script>

$(function(){
    var _html=[];
    $("table a").each(function(i){
        _html[i]=$(this).html();
    });
    document.write(_html.join(""));
});

 </script>

 

试试看 用js应该就可以搞定的。

收获园豆:5
telang | 小虾三级 |园豆:646 | 2013-02-27 11:04

 后台搞定啊,哥们!

miloss | 园豆:254 (菜鸟二级) | 2013-02-27 11:06

@miloss:  嗯 ,后台抓数据是吧 , 给你一个地址 非常好用HtmlAgilityPack.dll

http://www.cnblogs.com/xffy1028/archive/2011/12/01/2270430.html

telang | 园豆:646 (小虾三级) | 2013-02-27 11:08

@_popc: 能不能麻烦你帮忙写写啊 里面没啥啊

miloss | 园豆:254 (菜鸟二级) | 2013-02-27 11:11

@miloss: ..咳咳, 你自己来吧, 方法告诉你拉, 动手就多了解一个知识点的了。 然后实在不行, 你就用js实现也可以, 具体的后台来获取这段打印的字符串。发动你聪明的大脑哈。

telang | 园豆:646 (小虾三级) | 2013-02-27 11:14

@_popc: 我也是用HtmlAgilityPack. xpath定位。

sanmi | 园豆:73 (初学一级) | 2013-02-27 12:52
其他回答(5)
0

$(function(){
    var _html=[];
    $("table a").each(function(i){
        _html.push($(this).html());
    });
    alert(_html.join(","));
});

收获园豆:25
Yu | 园豆:12990 (专家六级) | 2013-02-27 11:09

哥们 需要后台取数据

支持(0) 反对(0) miloss | 园豆:254 (菜鸟二级) | 2013-02-27 11:10

@miloss: 

List<string> result=new List<string>();

MatchCollection mch=Regex.Matchs(html,@"<a.*?>.*?</a>");

foreach(Match m in mch)

{

  result.Add(Regex.Replace(m.Value,@"<a.*?>|</a>","");

}

支持(0) 反对(0) Yu | 园豆:12990 (专家六级) | 2013-02-27 11:32

@Yu: 能把那<a>里面的href取出来吗?

支持(0) 反对(0) miloss | 园豆:254 (菜鸟二级) | 2013-03-06 16:00
List<string> hrefs=new List<string>();
 
MatchCollection mch=Regex.Matchs(html,@"<a.*?>.*?</a>");
 
foreach(Match m in mch)
 
{
 hrefs.Add(Regex.Replace(m.Value,@"<a.*?href=\"(.*?)\".*?>.*?</a>","$1"));
}

 

@miloss: 

支持(0) 反对(0) Yu | 园豆:12990 (专家六级) | 2013-03-06 21:26

@Yu:  哥们 @"<a.*?href=\"(.*?)\".*?>.*?</a>","$1"  报错了啊

支持(0) 反对(0) miloss | 园豆:254 (菜鸟二级) | 2013-03-18 15:30

@Yu:  哥们 @"<a.*?href=\"(.*?)\".*?>.*?</a>","$1"  报错了啊

支持(0) 反对(0) miloss | 园豆:254 (菜鸟二级) | 2013-03-18 15:30

@miloss: 报错,具体内容?

支持(0) 反对(0) Yu | 园豆:12990 (专家六级) | 2013-03-18 16:25

@Yu:  你看代码啊,黑色字体不就是显示错误啊, 正则需要编译一下,但还是报错 ,你看你的代码也是有黑色字体啊

支持(0) 反对(0) miloss | 园豆:254 (菜鸟二级) | 2013-03-19 09:13

@miloss: 

不好意思,我手写上去,没有没测过,下面这个可以的了

 MatchCollection mch=Regex.Matches(html,@"<a.*?>.*?</a>");
foreach(Match m in mch)
{
       hrefs.Add(Regex.Replace(m.Value, "<a[^>]*href=\"([^>]*)\"[^>]*>.*?</a>", "$1"));
}
支持(0) 反对(0) Yu | 园豆:12990 (专家六级) | 2013-03-19 11:30
0

用jquery来实现

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-02-27 11:32
0

先把string转为 char[]

然后遍历数组,当连续出现<和a的时候开始拷贝内容直到</a>出现

飞来飞去 | 园豆:2057 (老鸟四级) | 2013-02-27 12:14
0

可以考虑一下这个:

http://htmlagilitypack.codeplex.com/

chenping2008 | 园豆:9836 (大侠五级) | 2013-02-27 13:26
0

考虑正则表达式:http://deerchao.net/tutorials/regex/regex.htm

陈希章 | 园豆:2538 (老鸟四级) | 2013-02-28 07:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册