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
- Abra el archivo de origen con un constructor de
HTMLDocument. - Localice la tabla con
QuerySelector(). Utilice un selector de identificador o clase en lugar detablecuando el documento contenga varias tablas. - Seleccione una celda existente y cambie su
TextContentsin reemplazar el resto del marcado de la tabla. - Añada una fila con
InsertRow()y cree sus celdas conInsertCell(). - Modifique la presentación mediante
Styley llame aSave()para escribir el documento completo.
Opciones para editar tablas HTML
- Seleccionar la tabla correcta. Utilice selectores como
#orders,.price-tableomain tablecuando 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
HTMLDocumentcargado 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.