MR.alaa Ответов: 1

Как я получаю данные из HTML таблицы C#


у меня есть html-страница, где есть много элементов, один из которых-таблица . Как я могу получить значения в таблице и добавить их в datatable я использую HTML agility asp.net с#

эта таблица находится в коде scrpit и имеет (\) с каждым элементом

<script type="text/javascript">
		<!--
		bklkl.abc.writeWidget({'cons':'bobj.crv.newpage'; style sheet properties with alot of character})



<\table cellspacing="0" cellpadding="3" rules="cols" id="page1">
    <\tr>
        <\th scope="col">h1</th>
        <\th scope="col">h2</th>
        <\th scope="col">h3 </th>
        <\th scope="col"> h4</th>
        <\th scope="col"> h5</th>
    <\tr>
    <\tr >
        <\td><input type="button" value="edit" /></td>
        <\td>value 1</td>
        <\td>value 2 </td>
        <\td>value 3</td>
        <\td>value 4</td>
    </tr>

<\table>
 //-->

    </script>



я не могу получить таблицу из-за css и java-кода ??
я даже пытаюсь

string text = Regex.Replace(infodata.InnerText, @"</?\w+((\s+\w+(\s*=\s*(?:"".*?""|'.*?'|[^'"">\s]+))?)+\s*|\s*)/?>", string.Empty).Replace(@"\r\n", "").Replace(@"\", "").Replace(@"\r\", "");


но я все равно получаю css-код, до которого не могу дотянуться или прочитать таблицу

Что я уже пробовал:

Это мое испытание

< pre lang="C#" >HtmlNodeCollection tables = pag1.Html.Метод selectnodes(&ампер;quot; по - //таблицы [идентификатор=&ампер@;#39;данных&#39;]&ампер;я;);

DataTable tb = новый DataTable();
HtmlNodeCollection rows = tables[0].SelectNodes(& quot; tr&quot;);

// создание столбцов
HtmlNodeCollection cols = rows[0].И quot;й&амп понравился метод selectnodes(&амп;;;);
если (седла != нуль)
{
for (int j = 0; j & lt;= cols.Count-1; j++)
{
ТБ.Столбцы.Добавить(cols[j].Через свойство innerText);
}
}

// Теперь заполните таблицу
for (int i = 0;i & lt;= строки.Count-1; i++)
{
ВАР невров = ТБ.Невров();
HtmlNodeCollection cols = rows[i].Метод selectnodes(&ампер;quot;и тд&усилителя;я;);
если (седла != нуль)
{
for (int j = 0; j & lt;= cols.Count-1; j++)
{
newRow[j] = cols[j].Через свойство innerText;
}

}

// добавить строку в таблицу
ТБ.Строк.Добавить(невров);
}

1 Ответов

Рейтинг:
2

Thomas Nielsen - getCore

Ну, ваша таблица-это HTML-конструкция, а не элемент управления, поэтому, если вы разместите свою страницу на сервере, она не будет содержать ничего из HTML-таблицы.

Что вы можете сделать, так это получить данные о клиенте, в вашем случае с помощью

var lotofrawhtml = $("page1").html();

Что вам нужно понять, так это то, что ADO. DataTable Таблицы данных[^]- это не то же самое, что html-таблица HTML-тег таблицы[^]

теперь вы можете, например, поместить классы стилей в свои данные, а затем выбрать их и сделать с ними что-то вроде этого Tryit Editor v3. 3[^]

Что это может быть, так это размещение его в какой-нибудь службе с помощью этой техники jQuery. post() | документация по API jQuery[^] ... но вам придется закатать рукава и испачкать руки ;)