Extraire des tableaux de fichiers HTML avec une API .NET
Aspose.HTML for .NET
charge un fichier dans un
HTMLDocument
et expose ses tableaux via le DOM. Une application C# peut sélectionner un ou tous les éléments <table>, lire leur OuterHTML et créer un document HTML distinct contenant le balisage complet de chaque tableau.
Extraire tous les tableaux d’un fichier HTML en C#
L’exemple sélectionne tous les tableaux de input.html et enregistre chacun dans un fichier numéroté. L’URI de base de la source est transmis à chaque sortie afin de résoudre les URL relatives depuis leur emplacement d’origine.
Code C# pour extraire des tableaux HTML
using Aspose.Html;
using Aspose.Html.Dom;
using System;
// Load the source HTML file
using HTMLDocument document = new HTMLDocument("input.html");
int tableNumber = 1;
foreach (Element table in document.QuerySelectorAll("table"))
{
// Save each complete table to a separate HTML file
string outputPath = $"table-{tableNumber}.html";
using HTMLDocument tableDocument = new HTMLDocument(table.OuterHTML, document.BaseURI);
tableDocument.Save(outputPath);
tableNumber++;
}
if (tableNumber == 1)
{
// Report that the selector returned no tables
Console.WriteLine("No tables were found in the HTML document.");
}
Étapes pour extraire des tableaux HTML
- Chargez la source avec un constructeur
HTMLDocument. - Sélectionnez les tableaux avec
QuerySelectorAll("table"). - Parcourez les éléments et lisez leur
OuterHTML. - Créez un nouveau
HTMLDocumentavec le balisage extrait et l’URI de base de la source. - Appelez
Save()avec un nom unique pour chaque tableau.
Options et limites de l’extraction de tableaux HTML
- Définir la portée. Utilisez
tablepour tous les tableaux ou un sélecteur comme#price-table,.results tableoumain table. - Conserver le balisage.
OuterHTMLcomprend l’élément<table>, ses attributs, lignes, cellules et contenus imbriqués. - Préserver le contexte des ressources.
document.BaseURIpermet d’interpréter les URL relatives par rapport au document source. - Traiter les styles séparément. Les styles en ligne restent présents, mais les règles du
<head>ou des feuilles externes ne sont pas copiées. - Distinguer balisage et données. Pour collecter les valeurs destinées à JSON ou CSV, consultez Extraire les données de tableaux HTML .
Documentation sur l’extraction de tableaux HTML
Le guide Extraire des tableaux HTML en C# traite la sélection, les lignes, les cellules, les liens et les sorties. Extraction de données décrit aussi le DOM, les sélecteurs CSS et XPath.
Installer Aspose.HTML for .NET
Installez Aspose.HTML for .NET depuis NuGet avec l’interface CLI .NET :
dotnet add package Aspose.HTML
Vous pouvez également utiliser l’interface du gestionnaire de packages NuGet ou exécuter Install-Package Aspose.HTML dans la console du gestionnaire de packages. Consultez le
guide d’installation
pour la configuration, ou demandez une
licence temporaire
afin d’évaluer l’API sans limitations.
Questions fréquentes sur l’extraction de tableaux HTML
1. Puis-je extraire tous les tableaux d’un fichier HTML?
Oui. QuerySelectorAll("table") renvoie tous les tableaux dans l’ordre du document. Parcourez le résultat et attribuez un nom de sortie unique à chacun.
2. Comment extraire un seul tableau HTML précis?
Utilisez QuerySelector() avec un ID, une classe ou un sélecteur structurel stable comme [id="price-table"] ou main table. Il renvoie le premier tableau correspondant.
3. Un tableau extrait conserve-t-il sa mise en forme CSS?
Les styles en ligne et attributs style restent dans OuterHTML. Les règles du <head> ou d’une feuille externe doivent être copiées ou liées séparément.
4. Puis-je extraire les données en CSV ou JSON plutôt que le balisage?
Oui, avec un autre traitement. Parcourez les lignes, lisez les valeurs de <th> et <td> et transmettez-les à un générateur CSV ou un sérialiseur JSON. Consultez
Extraire les données de tableaux HTML
.
5. Les tableaux imbriqués sont-ils extraits séparément?
Le sélecteur table trouve les tableaux externes et imbriqués. Utilisez un sélecteur plus précis si un tableau imbriqué doit rester uniquement dans son parent.
Opérations associées aux tableaux HTML
Créez ou modifiez des tableaux et extrayez les valeurs des cellules avec Aspose.HTML for .NET.