Редагування наявних 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-таблицю
- Відкрийте вихідний файл за допомогою конструктора
HTMLDocument. - Знайдіть потрібну таблицю методом
QuerySelector(). Якщо документ містить кілька таблиць, використовуйте селектор ID або класу замістьtable. - Виберіть наявну клітинку й оновіть її
TextContent, не замінюючи решту розмітки таблиці. - Додайте рядок методом
InsertRow()і створіть клітинки методомInsertCell(). - Змініть оформлення через декларацію
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.