如何在TR中获得用于TD的Regex

时间:2012-07-26 12:49:27

标签: c# html regex html-table

我需要有关regualar表达式的帮助。 (使用c#)

在html-sourcecode中我有这样的东西。

[...]
<TR class=tblDataGreyNH>
<TD style="TEXT-ALIGN: right; FONT-WEIGHT: bold" class=tblHeader>Total Time </TD>
<TD>07:47 </TD>
<TD>04:48 </TD>
<TD>00:00 </TD>
<TD>00:00 </TD>
<TD>07:42 </TD>
<TD>00:00 </TD>
<TD>00:00 </TD></TR>
[..]
<TR class=tblDataGreyNH nowrap>
<TD>Total </TD>
<TD>20:17 </TD></TR>
<TR style="FONT-WEIGHT: bold" class=tblDataWhiteNH nowrap>
<TD>Total Time </TD>
<TD width=75>20:17 </TD></TR></TBODY></TABLE></TD>
<TD colSpan=3>
...

类名始终相同。 我需要将所有TD解析成一个stringarray。 tblDataGreyNH是重要的类。

这是整个表格,其中td是在里面。 (如果你需要的话)

<table class="tblList">
<form action="/interface/timesheet/ViewUserTimeSheet.php" method="get" name="timesheet"></form>
<tbody>
<tr>
<tr class="tblHeader">
<tr class="tblHeader">
<tr class="tblDataWhiteNH">
<tr class="tblDataWhiteNH">
<tr class="tblHeader">
<tr class="tblDataGreyNH">
<td class="tblHeader" style="font-weight: bold; text-align: right"> Total Time </td>
<td> 07:47 </td>
<td> 04:48 </td>
<td> 00:00 </td>
<td> 00:00 </td>
<td> 07:42 </td>
<td> 00:00 </td>
<td> 00:00 </td>
</tr>
<tr class="tblDataWhiteNH">
<tr class="tblHeader">
<tr valign="top">
</tbody>
</table>

我希望有人可以帮我解决这个问题。 正则表达式对我来说似乎无法理解。 我无法掌握ReGeX的基础知识!? :/

2 个答案:

答案 0 :(得分:3)

不要将Regex用于HTML,我建议您查看HtmlAgilityPack

很简单:

var doc = new HtmlDocument();
doc.LoadHtml("...your sample html...");

// all <td> tags in the document
foreach (HtmlNode td in doc.DocumentNode.SelectNodes("//td")) 
{
     Console.WriteLine(td.InnerText);
}

答案 1 :(得分:0)

您不应该使用正则表达式来解析HTML(许多参考之一:link

我建议使用名为HtmlAgilityPack的.NET库。