Очистка таблицы HTML до прямоугольного массива с использованием LINQ - PullRequest
0 голосов
/ 10 января 2012

Я хотел бы собрать заголовки столбцов и строки данных для каждого столбца в двумерный массив. Данные выглядят следующим образом:

    <div id="content">
<!-- start left col--><div id="LeftCol-wss">
<h1>Aircraft Names</h1>


<h3>Names by Type</h3>
  <table cellspacing="1" cellpadding="2" class="data">
    <tr valign="top" bgcolor="#FFFFFF">
      <td valign="top" width="25%">
        <table width="100%" cellpadding="3" cellspacing="0" border="0" class="data">               
            <tr class="datatop">
            <td width="100%">
              Fighter</td>
          </tr>
          <tr>
              <td align="top" class="datatop" width="100%">
              <br/>              
              <a href="/page/mig-29.html" >MiG-29</a>
            <br/>
              <a href="/page/f-15.html" >F-15</a>
            <br/>
              <a href="/page/f-86.html" >F-86</a>
            <br/>
                <br>
              </td>
          </tr>
        </table>
      </td>
      <td valign="top" width="25%">
        <table width="100%" cellpadding="3" cellspacing="0" border="0" class="data">               
            <tr class="datahead">
            <td width="100%">
              Bomber</td>
          </tr>
          <tr>
              <td align="top" class="datatop" width="100%">
              <br/>
              <a href="/page/b-52.html" >B-52</a>
            <br/>
              <a href="/page/b-1b.html" >B-1B</a>
            <br/>
                <br>
              </td>
          </tr>
        </table>
      </td>
</div>

Результат, который я ищу, будет двухмерный массив, который выглядит следующим образом:

  • Истребитель МиГ-29
  • Истребитель F-15
  • Истребитель F-86
  • Бомбардировщик Б-52
  • Бомбардировщик Б-1Б

Я использую C # и предпочел бы использовать LINQ, но на данный момент я приму любые предложения.

1 Ответ

2 голосов
/ 10 января 2012

Если вы хотите проанализировать HTML в C #, канонический ответ - использовать HTML Agility Pack .

...