Editar tablas HTML existentes con una API de .NET

Aspose.HTML for .NET carga un archivo HTML existente en un HTMLDocument . Puede localizar una tabla con un selector CSS, modificar sus celdas y estilos mediante el DOM, añadir o eliminar filas y guardar el documento completo sin reconstruir el contenido no relacionado.


Editar una tabla de un archivo HTML en C#

El siguiente ejemplo abre input.html, selecciona la primera tabla, modifica la primera celda de datos, añade una fila, actualiza el CSS y guarda el resultado como edited-table.html.

Código C# para editar una tabla 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");

Pasos para editar una tabla HTML

  1. Abra el archivo de origen con un constructor de HTMLDocument .
  2. Localice la tabla con QuerySelector() . Utilice un selector de identificador o clase en lugar de table cuando el documento contenga varias tablas.
  3. Seleccione una celda existente y cambie su TextContent sin reemplazar el resto del marcado de la tabla.
  4. Añada una fila con InsertRow() y cree sus celdas con InsertCell() .
  5. Modifique la presentación mediante Style y llame a Save() para escribir el documento completo.

Opciones para editar tablas HTML

  • Seleccionar la tabla correcta. Utilice selectores como #orders, .price-table o main table cuando el documento contenga más de una tabla.
  • Modificar contenido existente. Cambie texto, atributos, clases y CSS en línea sin volver a crear la tabla ni reemplazar otros contenidos HTML.
  • Cambiar la estructura. Inserte o elimine filas y celdas mediante las interfaces DOM de tablas conservando su orden en el documento.
  • Aplicar reglas de presentación modernas. Utilice CSS para bordes, anchura, alineación y espaciado en lugar de atributos HTML de presentación obsoletos.
  • Conservar el documento. Al guardar el HTMLDocument cargado se mantiene el contenido situado fuera de la tabla modificada. Para aislar elementos <table> seleccionados con su marcado, consulte Extraer tablas HTML .

Documentación para editar tablas HTML

La guía Editar un documento HTML muestra cómo buscar, insertar, modificar y eliminar nodos DOM. La documentación de HTML DOM explica la navegación por documentos y el modelo de elementos utilizado para modificar contenido HTML mediante código.


Instalar Aspose.HTML for .NET

Instale Aspose.HTML for .NET desde NuGet con la CLI de .NET:

dotnet add package Aspose.HTML

También puede usar la interfaz del Administrador de paquetes NuGet o ejecutar Install-Package Aspose.HTML en la consola del Administrador de paquetes. Consulte la guía de instalación para configurar la biblioteca o solicite una licencia temporal para evaluar la API sin limitaciones.


Preguntas frecuentes sobre la edición de tablas HTML

1. ¿Cómo edito una tabla HTML específica si una página contiene varias?

Asigne a la tabla un identificador o una clase estable y pase a QuerySelector() un selector CSS como [id="orders"] o .price-table. El selector genérico table solo devuelve la primera tabla del documento.

2. ¿Puedo cambiar una celda sin reemplazar la tabla completa?

Sí. Seleccione el elemento <td> o <th> necesario y asigne texto sin formato a su TextContent. Para incluir marcado anidado, modifique sus nodos DOM secundarios o utilice InnerHTML con contenido de confianza.

3. ¿Cómo añado o elimino filas de una tabla HTML en C#?

Llame a InsertRow() con el índice de fila y añada celdas con InsertCell(). Utilice DeleteRow() para eliminar una fila y valide antes el índice con Rows.Length.

4. ¿Debo modificar el formato de una tabla con atributos HTML o con CSS?

Utilice CSS para bordes, anchura, alineación, espaciado, colores y otras propiedades visuales. Los atributos align, border y cellspacing pertenecen al modelo de presentación HTML antiguo y no deben añadirse a marcado moderno.

5. ¿Se conserva el resto del documento HTML al guardar una tabla editada?

Sí. Si carga el origen en un HTMLDocument, modifica solo los nodos de la tabla y guarda ese documento, los demás elementos permanecen en el resultado. Reemplazar un elemento principal o su InnerHTML también sustituye sus descendientes.

Operaciones relacionadas con tablas HTML

Cree tablas, extraiga el marcado completo u obtenga valores de celdas con guías de Aspose.HTML for .NET.