Получение значения из определенной ячейки
- C#

Узнай цену своей работы

Формулировка задачи:

Помогите новичку получить значения из таблицы в

richTextBox

Получаю таблицу со страницы html вот так:
HtmlElementCollection data = webBrowser1.Document.GetElementsByTagName("table");
                foreach (HtmlElement elem in data)
                {
                    string ClassName = elem.GetAttribute("ClassName");
                    if (ClassName == "compdate")
                    {
                        
                    }
                }
Нужно получать значение тега

<td></td>

в

richTextBox

такого формата:
12 КАНАЛ! 2463076970! 246301001! 93872566! 660041, Г КРАСНОЯРСК, УЛ БИАТЛОННАЯ Д 25! 983800ДОП27-70-90! 98-38-00!
<table class="compdate">
    <tbody>
        <tr>
            <th><div><span>Наименование</span></div></th>
            <td>12 КАНАЛ</td>
        </tr>
        <tr>
            <th><div><span>ИНН</span></div></th>
            <td>2463076970</td>
        </tr>
        <tr>
            <th><div><span>КПП</span></div></th>
            <td>246301001</td>
        </tr>
        <tr>
            <th><div><span>ОГРН</span></div></th>
            <td>1062463011500</td>
        </tr>
            <tr><th><div><span>ОКПО</span></div></th>
            <td>93872566</td>
        </tr>
            <tr><th><div><span>Адрес</span></div></th>
            <td>660041, Г КРАСНОЯРСК, УЛ БИАТЛОННАЯ Д 25</td>
        </tr>
        <tr>
            <th><div><span>Телефон(ы)</span></div></th>
            <td>983800ДОП27-70-90</td>
        </tr>
            <tr><th><div><span>Факс</span></div></th>
            <td>98-38-00</td>
        </tr> 
    </tbody>
</table>

Решение задачи: «Получение значения из определенной ячейки
»

textual
Листинг программы
private void button2_Click(object sender, EventArgs e)
{
    HtmlDocument document = webBrowser1.Document;
    HtmlElement table = document.GetElementsByTagName("table")
        .OfType<HtmlElement>()
        .FirstOrDefault(x => x.GetAttribute("ClassName") == "compdate");
 
    if (table != null)
    {
        HtmlElementCollection rows = table.GetElementsByTagName("tr");
 
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < rows.Count; i++)
        {
            HtmlElementCollection cells = rows[i].GetElementsByTagName("td");
            for (int j = 0; j < cells.Count; j++)
            {
                stringBuilder.Append(cells[j].InnerText)
                    .Append("! ");
            }
        }
 
        richTextBox1.Text = stringBuilder.ToString().TrimEnd();
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы