2012-06-15 165 views
0

我需要使用HTML敏捷包解析HTML文件。這裏是div class class = divTableBodyText和裏面的表格。我需要獲取表格的內容。我創建了數據類,但不知道如何獲取數據。使用HTML敏捷包解析HTML

<html> 
<body> 
    <div class="divTableBodyText"> 
     <table class="tableBodyText fdff_L" cellpadding="0" cellspacing="0"> 
      <tbody> 
       <tr> 
        <td> 
         &nbsp; 
        </td> 
       </tr> 
       <tr> 
        <td> 
         <span class="fontSize textBold">Выберите тариф.</span> Разница цен в пределах одного 
         типа тарифа может возникнуть из-за условий выполнения рейса, связанных с колличеством 
         пересадок и доступностью мест. Цены указаны для взрослого пассажира с учетом Сборов 
         /Налогов. 
        </td> 
       </tr> 
       <tr> 
        <td> 
         &nbsp; 
        </td> 
       </tr> 
      </tbody> 
     </table> 
     <div class="FFInfoPanel"> 
     </div> 
     <table class="fdff_tableFF" cellspacing="0"> 
      <tbody> 
       <tr> 
        <th> 
         &nbsp; 
        </th> 
        <th> 
         Тип тарифа 
        </th> 
        <th width="55%"> 
         Описание тарифа 
        </th> 
        <th> 
         Минимальная цена 
        </th> 
        <th> 
         Другие авиарейсы 
        </th> 
       </tr> 
       <tr class=""> 
        <td style="background-color: rgb(255, 255, 255); border-right: medium none; padding: 0px 4px 0px 0px;"> 
         &nbsp; 
        </td> 
        <td class="textBold" width="15%"> 
         Special-Kazakhstan 
        </td> 
        <td class="wrap" id="FN_0" width="55%"> 
         Специальный тариф экономического класса с ограничениями <a href="javascript:fareFamilyDescriptionPopUp.redirectToAnExternalPopUp('http://www.airastana.com/int/ru/Fare-Family-Special-Kazakhstan.aspx');"> 
          Дополнительная информация</a> 
        </td> 
        <td style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" class="white" 
         id="FRB_1_0" _isdisabled="false" width="15%"> 
         <input id="RB0" name="FamilyButton" value="0|1" onclick="javascript:FDFF.selectRecommendationSet('0', true,'0', 'FRB_1_0',false);" 
          checked="checked" type="radio"> 
         47&nbsp;917 KZT 
        </td> 
        <td class="white" id="FRB_2_0" _isdisabled="" width="15%"> 
         &nbsp; 
        </td> 
       </tr> 
       <tr class="bgrd"> 
        <td style="background-color: rgb(255, 255, 255); border-right: medium none; padding: 0px 4px 0px 0px;"> 
         &nbsp; 
        </td> 
        <td class="textBold" width="15%"> 
         Flexible-Kazakhstan 
        </td> 
        <td class="wrap" id="FN_1" width="55%"> 
         Специальный тариф экономического класса с возможностью бесплатного перебронирования 
         до отправления. <a href="javascript:fareFamilyDescriptionPopUp.redirectToAnExternalPopUp('http://www.airastana.com/int/ru/Fare-Family-Flexible-Kazakhstan.aspx');"> 
          Дополнительная информация</a> 
        </td> 
        <td class="white" id="FRB_1_1" _isdisabled="false" width="15%"> 
         <input id="RB1" name="FamilyButton" value="1|1" onclick="javascript:FDFF.selectRecommendationSet('1', true,'1', 'FRB_1_1',false);" 
          type="radio"> 
         52&nbsp;397 KZT 
        </td> 
        <td class="white" id="FRB_2_1" _isdisabled="" width="15%"> 
         &nbsp; 
        </td> 
       </tr> 
       <tr class=""> 
        <td style="background-color: rgb(255, 255, 255); border-right: medium none; padding: 0px 4px 0px 0px;"> 
         &nbsp; 
        </td> 
        <td class="textBold" width="15%"> 
         Full flexible 
        </td> 
        <td class="wrap" id="FN_2" width="55%"> 
         Нормальный тариф экономического класса без ограничений <a href="javascript:fareFamilyDescriptionPopUp.redirectToAnExternalPopUp('http://www.airastana.com/int/ru/Fare-Family-Full-Flexible.aspx');"> 
          Дополнительная информация</a> 
        </td> 
        <td class="white" id="FRB_1_2" _isdisabled="false" width="15%"> 
         <input id="RB2" name="FamilyButton" value="2|1" onclick="javascript:FDFF.selectRecommendationSet('2', true,'2', 'FRB_1_2',false);" 
          type="radio"> 
         56&nbsp;267 KZT 
        </td> 
        <td class="white" id="FRB_2_2" _isdisabled="" width="15%"> 
         &nbsp; 
        </td> 
       </tr> 
       <tr class="bgrd"> 
        <td style="background-color: rgb(255, 255, 255); border-right: medium none; padding: 0px 4px 0px 0px;"> 
         &nbsp; 
        </td> 
        <td class="textBold" width="15%"> 
         Business-Kazakhstan 
        </td> 
        <td class="wrap" id="FN_3" width="55%"> 
         Нормальный тариф бизнес класса с некоторыми ограничениями <a href="javascript:fareFamilyDescriptionPopUp.redirectToAnExternalPopUp('http://www.airastana.com/int/ru/Fare-Family-Business-Kazakhstan.aspx');"> 
          Дополнительная информация</a> 
        </td> 
        <td class="white" id="FRB_1_3" _isdisabled="false" width="15%"> 
         <input id="RB3" name="FamilyButton" value="3|1" onclick="javascript:FDFF.selectRecommendationSet('3', true,'3', 'FRB_1_3',false);" 
          type="radio"> 
         89&nbsp;557 KZT 
        </td> 
        <td class="white" id="FRB_2_3" _isdisabled="false" width="15%"> 
         <input name="FamilyButton" value="4|2" onclick="javascript:FDFF.selectRecommendationSet('4', true,'3', 'FRB_2_3',false);" 
          type="radio"> 
         93&nbsp;951 KZT 
        </td> 
       </tr> 
       <tr class=""> 
        <td style="background-color: rgb(255, 255, 255); border-right: medium none; padding: 0px 4px 0px 0px;"> 
         &nbsp; 
        </td> 
        <td class="textBold" width="15%"> 
         Business 
        </td> 
        <td class="wrap" id="FN_4" width="55%"> 
         Нормальный тариф бизнес класса без ограничений. Почувствуйте настоящий комфорт! 
         <a href="javascript:fareFamilyDescriptionPopUp.redirectToAnExternalPopUp('http://www.airastana.com/int/ru/Fare-Family-Business.aspx');"> 
          Дополнительная информация</a> 
        </td> 
        <td class="white" id="FRB_1_4" _isdisabled="false" width="15%"> 
         <input id="RB4" name="FamilyButton" value="5|1" onclick="javascript:FDFF.selectRecommendationSet('5', true,'4', 'FRB_1_4',false);" 
          type="radio"> 
         98&nbsp;345 KZT 
        </td> 
        <td class="white" id="FRB_2_4" _isdisabled="" width="15%"> 
         &nbsp; 
        </td> 
       </tr> 
      </tbody> 
     </table> 
    </div> 
</body> 
</html> 
+0

我建議你把你的例子HTML和削減下來,只是相關的HTML。 – HackedByChinese

+0

你的問題是什麼? –

+0

我需要解析這個html和表格數據 – Nate

回答

1

你可以嘗試somethink這樣也許會幫助

 HtmlDocument doc = new HtmlDocument(); 
     doc.LoadHtml(//your html document); 
     foreach (HtmlNode div in doc.DocumentNode.SelectNodes("//div[@class='divTableBodyText']")){ 
     foreach (HtmlNode table in div.DocumentNode.SelectNodes("table")) { 
      foreach (HtmlNode tbody in div.DocumentNode.SelectNodes("tbody")) { 
      foreach (HtmlNode row in tbody.SelectNodes("tr")) { 
       foreach (HtmlNode cell in row.SelectNodes("td")) { 
        Console.WriteLine(cell.InnerText); 
       } 
      } 
     } 
    } 
} 
+0

編譯器在第二個foreachloop中看不到DocumentNode – Nate

+0

嘗試更新而沒有// –

+0

更新,仍然錯誤 – Nate