
Leer HTML en C# abre un mundo de posibilidades para interactuar con contenido web en aplicaciones C# .NET. Puede analizar o navegar fácilmente por documentos HTML para una extracción de datos simple o tareas complejas de raspado web en C# para procesar contenido HTML. En consecuencia, esta publicación de blog cubre cómo leer HTML en C# y al mismo tiempo cubre diferentes enfoques para cargar contenido HTML y analizar la cadena HTML según sus requisitos.
Configurar la API del lector HTML en C#
Puede descargar fácilmente la API desde la sección Nuevas versiones o instalar Conholdate.Total para .NET desde la galería NuGet ejecutando el siguiente comando de instalación en Package Manager Console en Visual Studio:
PM> NuGet\Install-Package Conholdate.Total
Leer un archivo HTML en C#
HTML (Lenguaje de marcado de hipertexto) es la columna vertebral de las páginas web, responsable de definir la estructura y el contenido de los sitios web. Consta de elementos representados por etiquetas, cada una de las cuales tiene un propósito específico. Cuando accede a una página web, su navegador interpreta el código HTML y lo presenta en un diseño visual con el que puede interactuar. Para leer y manipular contenido HTML en C#, puede analizar y navegar por documentos HTML siguiendo los pasos a continuación:
- Cargue el archivo HTML de origen con la instancia de la clase HTMLDocument.
- Lea el contenido HTML utilizando la propiedad OuterHTML.
El siguiente fragmento de código demuestra cómo leer un archivo HTML usando C#:
string documentPath = "document.html";
// Cargar un archivo HTML
var document = new HTMLDocument(documentPath);
// Escriba el contenido del documento en el flujo de salida.
Console.WriteLine(document.DocumentElement.OuterHTML);
Navegue por el archivo HTML para leer contenidos HTML en C#
Debe seguir los pasos a continuación para navegar por un archivo HTML y leer el contenido HTML en C#:
- Prepare el código HTML e inicie el objeto de clase HTMLDocument.
- Obtenga la referencia al primer hijo (primer SPAN) del BODY.
- Navegue por los nodos secundarios y extraiga información.
El siguiente ejemplo de código muestra cómo navegar por los nodos HTML para leer contenidos HTML en C#:
// Preparar código HTML
var html_code = "<span>Hello</span> <span>World!</span>";
// Inicializar un documento a partir del código preparado
using (var document = new Aspose.Html.HTMLDocument(html_code, "."))
{
// Obtener la referencia al primer hijo (primer SPAN) del BODY
var element = document.Body.FirstChild;
Console.WriteLine(element.TextContent); // output: Hello
// Obtener la referencia al espacio en blanco entre elementos html
element = element.NextSibling;
Console.WriteLine(element.TextContent); // output: ' '
// Obtener la referencia al segundo elemento SPAN.
element = element.NextSibling;
Console.WriteLine(element.TextContent); // output: World!
}
Leer archivo HTML como cadena en C#
Puede leer archivos HTML como una cadena en C# desde cualquier URL con los siguientes pasos:
- Inicialice el objeto de clase HTMLDocument con URL.
- Lea el contenido del texto en formato HTML.
- Escriba el archivo TXT con texto extraído de HTML a través de URL.
El siguiente ejemplo de código explica cómo leer un archivo HTML como cadena en C# desde cualquier URL:
// Inicializar el objeto HTMLDocument con URL
HTMLDocument document = new HTMLDocument("https://products.aspose.com/html/net");
// Leer el contenido del texto en formato HTML.
String text = document.Body.TextContent;
// Escribe el archivo TXT con el texto extraído.
File.WriteAllText("Webpage.txt", text);
Licencia de evaluación gratuita
Puede obtener una licencia temporal gratuita para evitar limitaciones de evaluación.
Resumiendo
Ser capaz de leer HTML en C# es una habilidad valiosa para trabajar en proyectos relacionados con la web y tareas de extracción de datos. En esta publicación de blog, cubrimos tres enfoques diferentes para leer HTML en C#. Esto le permite extraer o analizar información de páginas HTML para su posterior procesamiento. Sin embargo, puede explorar muchas otras funciones que ofrece la API y no dude en comunicarse con nosotros en el foro.