C#Winform提取string类型 html代码里的 tr td数据
<!DOCTYPEhtml><head><title>123</title></head><bodyclass="showmenu"><divclass="main"><...
<!DOCTYPE html>
<head>
<title>123</title>
</head>
<body class="showmenu">
<div class="main">
<div style="padding:15px;">
<table class="table table-hover">
<thead class="navbar-inner">
<tr>
<th>订单号</th>
<th style="width:100px;">姓名</th>
<th style="width:80px;">电话</th>
<th style="width:80px;">支付方式</th>
<th style="width:80px;">配送方式</th>
<th style="width:50px;">运费</th>
<th style="width:50px;">总价</th>
<!-- <th style="width:50px;">类型</th>-->
<th style="width:50px;">状态</th>
<th style="width:150px;">下单时间</th>
<th style="width:120px; text-align:right;">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>12132242</td>
<td>李四</td>
<td>13800000000</td>
<td><span class="label label-important">在线支付</span></td>
<td>已满38元,免邮费</td>
<td>0.00</td>
<td>86.7 元</td>
<!-- <td>虚拟</td>-->
<td>
<span class="label label-info">待收货</span> </td>
<td>2014-12-13 19:50:28</td>
<td style="text-align:right;"><a href="site.php?act=module&op=detail&id=169&name=shopping&do=order&weid=2">查看订单</a></td>
</tr>
<tr>
<td>12131774</td>
<td>小明</td>
<td>13413131515</td>
<td><span class="label label-important">在线支付</span></td>
<td>已满68元,免邮费</td>
<td>0.00</td>
<td>75.6 元</td>
<!-- <td>虚拟</td>-->
<td>
<span class="label label-info">待收货</span> </td>
<td>2014-12-13 18:16:17</td>
<td style="text-align:right;"><a href="site.php?act=module&op=detail&id=168&name=shopping&do=order&weid=2">查看订单</a></td>
</tr>
</tbody>
<!--tr>
<td></td>
<td colspan="3">
</html> 展开
<head>
<title>123</title>
</head>
<body class="showmenu">
<div class="main">
<div style="padding:15px;">
<table class="table table-hover">
<thead class="navbar-inner">
<tr>
<th>订单号</th>
<th style="width:100px;">姓名</th>
<th style="width:80px;">电话</th>
<th style="width:80px;">支付方式</th>
<th style="width:80px;">配送方式</th>
<th style="width:50px;">运费</th>
<th style="width:50px;">总价</th>
<!-- <th style="width:50px;">类型</th>-->
<th style="width:50px;">状态</th>
<th style="width:150px;">下单时间</th>
<th style="width:120px; text-align:right;">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>12132242</td>
<td>李四</td>
<td>13800000000</td>
<td><span class="label label-important">在线支付</span></td>
<td>已满38元,免邮费</td>
<td>0.00</td>
<td>86.7 元</td>
<!-- <td>虚拟</td>-->
<td>
<span class="label label-info">待收货</span> </td>
<td>2014-12-13 19:50:28</td>
<td style="text-align:right;"><a href="site.php?act=module&op=detail&id=169&name=shopping&do=order&weid=2">查看订单</a></td>
</tr>
<tr>
<td>12131774</td>
<td>小明</td>
<td>13413131515</td>
<td><span class="label label-important">在线支付</span></td>
<td>已满68元,免邮费</td>
<td>0.00</td>
<td>75.6 元</td>
<!-- <td>虚拟</td>-->
<td>
<span class="label label-info">待收货</span> </td>
<td>2014-12-13 18:16:17</td>
<td style="text-align:right;"><a href="site.php?act=module&op=detail&id=168&name=shopping&do=order&weid=2">查看订单</a></td>
</tr>
</tbody>
<!--tr>
<td></td>
<td colspan="3">
</html> 展开
3个回答
展开全部
用正则来提取。
using System;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
namespace RegexTest
{
public class RegexTest
{
public void Test()
{
string input = @"<!DOCTYPE html>
<head>
<title>123</title>
</head>
<body class="showmenu">
<div class="main">
<div style="padding:15px;">
<table class="table table-hover">
<thead class="navbar-inner">
<tr>
<th>订单号</th>
<th style="width:100px;">姓名</th>
<th style="width:80px;">电话</th>
<th style="width:80px;">支付方式</th>
<th style="width:80px;">配送方式</th>
<th style="width:50px;">运费</th>
<th style="width:50px;">总价</th>
<!-- <th style="width:50px;">类型</th>-->
<th style="width:50px;">状态</th>
<th style="width:150px;">下单时间</th>
<th style="width:120px; text-align:right;">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>12132242</td>
<td>李四</td>
<td>13800000000</td>
<td><span class="label label-important">在线支付</span></td>
<td>已满38元,免邮费</td>
<td>0.00</td>
<td>86.7 元</td>
<!-- <td>虚拟</td>-->
<td>
<span class="label label-info">待收货</span> </td>
<td>2014-12-13 19:50:28</td>
<td style="text-align:right;"><a href="site.php?act=module&op=detail&id=169&name=shopping&do=order&weid=2">查看订单</a></td>
</tr>
<tr>
<td>12131774</td>
<td>小明</td>
<td>13413131515</td>
<td><span class="label label-important">在线支付</span></td>
<td>已满68元,免邮费</td>
<td>0.00</td>
<td>75.6 元</td>
<!-- <td>虚拟</td>-->
<td>
<span class="label label-info">待收货</span> </td>
<td>2014-12-13 18:16:17</td>
<td style="text-align:right;"><a href="site.php?act=module&op=detail&id=168&name=shopping&do=order&weid=2">查看订单</a></td>
</tr>
</tbody>
<!--tr>
<td></td>
<td colspan="3">
</html>";
string pattern = @"<td>([\s\S]+?)</td>";
RegexOptions options = RegexOptions.None;
Regex regex = new Regex(pattern, options);
MatchCollection matches = regex.Matches(input);
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
}
}
}
using System;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
namespace RegexTest
{
public class RegexTest
{
public void Test()
{
string input = @"<!DOCTYPE html>
<head>
<title>123</title>
</head>
<body class="showmenu">
<div class="main">
<div style="padding:15px;">
<table class="table table-hover">
<thead class="navbar-inner">
<tr>
<th>订单号</th>
<th style="width:100px;">姓名</th>
<th style="width:80px;">电话</th>
<th style="width:80px;">支付方式</th>
<th style="width:80px;">配送方式</th>
<th style="width:50px;">运费</th>
<th style="width:50px;">总价</th>
<!-- <th style="width:50px;">类型</th>-->
<th style="width:50px;">状态</th>
<th style="width:150px;">下单时间</th>
<th style="width:120px; text-align:right;">操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>12132242</td>
<td>李四</td>
<td>13800000000</td>
<td><span class="label label-important">在线支付</span></td>
<td>已满38元,免邮费</td>
<td>0.00</td>
<td>86.7 元</td>
<!-- <td>虚拟</td>-->
<td>
<span class="label label-info">待收货</span> </td>
<td>2014-12-13 19:50:28</td>
<td style="text-align:right;"><a href="site.php?act=module&op=detail&id=169&name=shopping&do=order&weid=2">查看订单</a></td>
</tr>
<tr>
<td>12131774</td>
<td>小明</td>
<td>13413131515</td>
<td><span class="label label-important">在线支付</span></td>
<td>已满68元,免邮费</td>
<td>0.00</td>
<td>75.6 元</td>
<!-- <td>虚拟</td>-->
<td>
<span class="label label-info">待收货</span> </td>
<td>2014-12-13 18:16:17</td>
<td style="text-align:right;"><a href="site.php?act=module&op=detail&id=168&name=shopping&do=order&weid=2">查看订单</a></td>
</tr>
</tbody>
<!--tr>
<td></td>
<td colspan="3">
</html>";
string pattern = @"<td>([\s\S]+?)</td>";
RegexOptions options = RegexOptions.None;
Regex regex = new Regex(pattern, options);
MatchCollection matches = regex.Matches(input);
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
}
}
}
追问
我也知道用正则。。。 主要是我不太会用 正则
追答
完善例子了。
展开全部
楼主别信楼下的,编程是个复杂活来着没有做不到的只有想不到的,其实你的要求对于框架来说就已经有对应的实现了。方法可以有多种,就看你想要哪种
1:用XML加载这些内容然后操作XML类就可以了。
2:我相信楼下的一定懂得XML序列化吧,如果你不懂可以了解下dataTable是如何序列成XML文件或从XML文件反序列化成DataTable类的。楼主这个建议你研究下。我想讲的是你如果了解这些那只要把<Table></Table>标签里的内容插入到一个新生成的XML文件然后反列化成DataTable这样你可以很自然的使用了。
3:那只是为了想提高自己,而采用自己写类分析的方式。当然要看你自己的功力如何。有些人可以写出比以上方法运行更快代码,而有些人则不定。只是个人认为如有讲错的地方请见谅。如果你想要用此方法可以回复,我会帮助你一步步实现,呵呵让你我都可以有点成就感。
1:用XML加载这些内容然后操作XML类就可以了。
2:我相信楼下的一定懂得XML序列化吧,如果你不懂可以了解下dataTable是如何序列成XML文件或从XML文件反序列化成DataTable类的。楼主这个建议你研究下。我想讲的是你如果了解这些那只要把<Table></Table>标签里的内容插入到一个新生成的XML文件然后反列化成DataTable这样你可以很自然的使用了。
3:那只是为了想提高自己,而采用自己写类分析的方式。当然要看你自己的功力如何。有些人可以写出比以上方法运行更快代码,而有些人则不定。只是个人认为如有讲错的地方请见谅。如果你想要用此方法可以回复,我会帮助你一步步实现,呵呵让你我都可以有点成就感。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询