Редагування наявних HTML-таблиць за допомогою .NET API

Aspose.HTML for .NET завантажує наявний HTML-файл в HTMLDocument . Ви можете знайти таблицю за допомогою CSS-селектора, оновити її клітинки та стилі через DOM, додати або видалити рядки й зберегти весь документ без повторного створення стороннього вмісту.


Редагування таблиці в HTML-файлі за допомогою C#

У наведеному нижче прикладі відкривається input.html, вибирається перша таблиця, змінюється перша клітинка даних, додається рядок, оновлюється CSS таблиці, а результат зберігається як edited-table.html.

Код C# для редагування HTML-таблиці

using Aspose.Html;
using System;

// Load the HTML document that contains the table
using HTMLDocument document = new HTMLDocument("input.html");

// Select the first table and verify that it exists
HTMLTableElement table = (HTMLTableElement)document.QuerySelector("table");
if (table == null)
{
    throw new InvalidOperationException("The HTML document does not contain a table.");
}

// Update the first data cell when one is available
HTMLTableCellElement firstCell = (HTMLTableCellElement)table.QuerySelector("td");
if (firstCell != null)
{
    firstCell.TextContent = "Updated value";
}

// Append a row and populate its cells
HTMLTableRowElement newRow = (HTMLTableRowElement)table.InsertRow(table.Rows.Length);
string[] values = { "New item", "Ready" };
foreach (string value in values)
{
    HTMLTableCellElement cell = (HTMLTableCellElement)newRow.InsertCell(newRow.Cells.Length);
    cell.TextContent = value;
}

// Apply CSS without replacing the table's other attributes
table.Style.SetProperty("border", "1px solid #808080");
table.Style.SetProperty("border-collapse", "collapse");
table.Style.SetProperty("width", "100%");

// Save the complete modified document
document.Save("edited-table.html");

Як редагувати HTML-таблицю

  1. Відкрийте вихідний файл за допомогою конструктора HTMLDocument .
  2. Знайдіть потрібну таблицю методом QuerySelector() . Якщо документ містить кілька таблиць, використовуйте селектор ID або класу замість table.
  3. Виберіть наявну клітинку й оновіть її TextContent, не замінюючи решту розмітки таблиці.
  4. Додайте рядок методом InsertRow() і створіть клітинки методом InsertCell() .
  5. Змініть оформлення через декларацію Style таблиці та викличте Save() , щоб записати весь змінений документ.

Можливості редагування HTML-таблиць

  • Виберіть правильну таблицю. Використовуйте селектори на кшталт #orders, .price-table або main table, якщо документ містить кілька таблиць.
  • Змінюйте наявний вміст. Оновлюйте текст клітинок, атрибути, класи та вбудований CSS без повторного створення таблиці або заміни стороннього HTML.
  • Змінюйте структуру таблиці. Вставляйте або видаляйте рядки та клітинки через DOM-інтерфейси таблиці, зберігаючи їх порядок у документі.
  • Застосовуйте сучасні правила оформлення. Використовуйте властивості CSS для рамок, ширини, вирівнювання та відступів замість застарілих презентаційних HTML-атрибутів.
  • Зберігайте оточення таблиці. Під час збереження завантаженого HTMLDocument вміст поза відредагованою таблицею залишається незмінним. Щоб ізолювати вибрані елементи <table> разом із розміткою, перегляньте Вилучення HTML-таблиць .

Документація з редагування HTML-таблиць

У матеріалі Редагування HTML-документа наведено приклади пошуку, вставлення, зміни та видалення DOM-вузлів. Документація HTML DOM пояснює навігацію документом і модель елементів для програмної зміни HTML-вмісту.


Установлення Aspose.HTML for .NET

Установіть Aspose.HTML for .NET з NuGet за допомогою .NET CLI:

dotnet add package Aspose.HTML

Також можна скористатися інтерфейсом диспетчера пакетів NuGet або виконати Install-Package Aspose.HTML у консолі диспетчера пакетів. Докладні інструкції наведено в посібнику зі встановлення . Щоб оцінити API без обмежень ознайомлювальної версії, запросіть тимчасову ліцензію .


Запитання про редагування HTML-таблиць

1. Як відредагувати певну HTML-таблицю, якщо сторінка містить кілька таблиць?

Призначте цільовій таблиці стабільний ID або клас і передайте відповідний CSS-селектор, наприклад [id="orders"] чи .price-table, до QuerySelector(). Загальний селектор table повертає лише першу таблицю документа.

2. Чи можна змінити клітинку, не замінюючи всю таблицю?

Так. Виберіть потрібний елемент <td> або <th> і задайте його TextContent для звичайного тексту. Якщо клітинка має містити вкладену розмітку, змініть її дочірні DOM-вузли або використовуйте InnerHTML лише з надійним вмістом.

3. Як додати або видалити рядки HTML-таблиці в C#?

Викличте InsertRow() з потрібним індексом рядка, а потім додайте клітинки методом InsertCell(). Для видалення рядка використовуйте DeleteRow() і перед зміною структури перевіряйте індекс за Rows.Length.

4. Чи слід змінювати оформлення таблиці HTML-атрибутами або CSS?

Використовуйте CSS для рамок, ширини, вирівнювання, відступів, кольорів та іншого оформлення. Атрибути align, border і cellspacing належать до старої презентаційної моделі HTML та не повинні додаватися до сучасної розмітки.

5. Чи зберігається решта HTML-документа після редагування таблиці?

Так. Якщо завантажити джерело в HTMLDocument, змінити лише вузли вибраної таблиці та зберегти цей документ, сторонні елементи залишаться у результаті. Навмисна заміна батьківського елемента або його InnerHTML також може замінити дочірні вузли.

Пов'язані сценарії роботи з HTML-таблицями

Створюйте таблиці, вилучайте повну розмітку або збирайте значення клітинок за допомогою посібників Aspose.HTML for .NET.