使用c提取html tbody数据#
问题描述:
我正在使用c#Web.Client下载html字符串。使用c提取html tbody数据#
被返回的HTML的一个小例子是
<tbody class='resultBody ' id='Tbody2'>
<tr id='Tr2' class='firstRow'>
<td class='cbrow tier_Gold' rowspan='4'>
<input type='checkbox' name='listingId' value='452' id='Checkbox2' />
</td>
<td class='resNum' rowspan='4'>
<div class='node'>
B</div>
</td>
<td class='datarow busName' id='Td2'>
</td>
<td rowspan='2' class='resLinks'>
</td>
<td class="hoops" rowspan='2'>
</td>
</tr>
<tr>
<td class="datarow">
<dl class="addrBlock">
<dd class="bizAddr">
123 ABC St</dd>
</dl>
</td>
</tr>
</tbody>
<tbody class='resultBody ' id='Tbody3'>
<tr id='Tr3' class='firstRow'>
<td class='cbrow tier_Gold' rowspan='4'>
<input type='checkbox' name='listingId' value='99' id='Checkbox3' />
</td>
<td class='resNum' rowspan='4'>
<div class='node'>
B</div>
</td>
<td class='datarow busName' id='Td3'>
</td>
<td rowspan='2' class='resLinks'>
</td>
<td class="hoops" rowspan='2'>
</td>
</tr>
<tr>
<td class="datarow">
<dl class="addrBlock">
<dd class="bizAddr">
1111 Some St</dd>
</dl>
</td>
</tr>
</tbody>
我感兴趣的是HTML的2个元素,但我不知道去的最佳途径。对我来说,获得价值的最好方法是从元素
中获取内部html。任何建议都会很棒!
答
- 下载HTML Agility Pack (free)
- 创建一个新的HTMLDocument
- loadhtml
- 使用DOM导航或XPath查询(的SelectSingleNode等)来查找元素的元素
- 访问InerHtml你想
该API与XmlDocument类似,但它适用于不是xhtml的html。