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

  1. Chargez la source avec un constructeur HTMLDocument .
  2. Sélectionnez les tableaux avec QuerySelectorAll("table") .
  3. Parcourez les éléments et lisez leur OuterHTML .
  4. Créez un nouveau HTMLDocument avec le balisage extrait et l’URI de base de la source.
  5. Appelez Save() avec un nom unique pour chaque tableau.

Options et limites de l’extraction de tableaux HTML

  • Définir la portée. Utilisez table pour tous les tableaux ou un sélecteur comme #price-table, .results table ou main table.
  • Conserver le balisage. OuterHTML comprend l’élément <table>, ses attributs, lignes, cellules et contenus imbriqués.
  • Préserver le contexte des ressources. document.BaseURI permet 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.