0

我有一些代码可以得到网络响应。如何获取该响应并使用其 CSS 类 (class="data") 搜索表?获得表格后,我需要提取某些字段值。例如,在下面的示例标记中,我需要字段#3 和字段#5 的值,因此分别为“85”和“1”。

<table width="570" border="0" cellpadding="1" cellspacing="2" class="data">
  <tr>
    <td width="158"><strong>Field #1:</strong></td>
    <td  width="99">1</td>
    <td  width="119"><strong>Field #2:</strong></td>
    <td  width="176">110</td>
  </tr>
  <tr>
    <td width="158"><strong>Field #3:</strong></td>
    <td  width="99">85</td>
    <td  width="119"><strong>Field #4:</strong></td>
    <td  width="176">-259.34</td>
  </tr>
  <tr>
    <td width="158"><strong>Field #5:</strong></td>
    <td  width="99">1</td>
    <td  width="119"><strong>Field #6:</strong></td>
    <td  width="176">110</td>
  </tr>
  <tr>
    <td width="158"><strong>Field #7:</strong></td>
    <td  width="99">12</td>
    <td  width="119"><strong>Field #8:</strong></td>
    <td  width="176">123.23</td>
  </tr>
</table>
4

2 回答 2

2

使用HTML Agility Pack解析HTML。如果你想用最简单的方法来做,那就去抢它的测试版(它支持 LINQ)。

于 2012-10-02T19:11:05.430 回答
0

正如 Randolf 所建议的,使用 HTML Agility Pack 是一个不错的选择。

但是,如果您可以控制 HTML 的格式,也可以进行字符串解析以提取您所追求的值。

将整个 HTML 下载为字符串并搜索字符串 " <table" 后跟字符串 "class=\"data\"" 几乎是微不足道的。然后,您可以通过执行类似的字符串操作轻松提取您所追求的值。

我并不是说您应该这样做,因为生成的代码将更难阅读和维护使用 HTML Agility Pack 的代码,但它会为您节省外部依赖,并且您的代码可能会执行得更好。

在我制作的一个 WP7 应用程序中,我开始使用 HTML Agility Pack 来解析一些 HTML 并提取一些值。这工作得很好,但速度很慢。切换到字符串解析机制使我的代码在返回完全相同的结果时快了很多倍。

于 2012-10-02T19:24:09.740 回答