2010-11-13 40 views
3

我正在使用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。任何建议都会很棒!

回答

3
  • 下载HTML Agility Pack (free)
  • 创建一个新的HTMLDocument
  • loadhtml
  • 使用DOM导航或XPath查询(的SelectSingleNode等)来查找元素的元素
  • 访问InerHtml你想

该API与XmlDocument类似,但它适用于不是xhtml的html。