Mengekstrak Tabel dari File HTML dengan .NET API

Aspose.HTML for .NET memuat file ke HTMLDocument dan menyediakan tabelnya melalui DOM. Aplikasi C# dapat memilih satu atau semua elemen <table>, membaca OuterHTML, lalu membuat dokumen HTML terpisah yang berisi markup lengkap setiap tabel.


Mengekstrak Semua Tabel dari File HTML di C#

Contoh berikut memilih semua tabel di input.html dan menyimpan masing-masing ke file HTML bernomor. URI dasar dokumen sumber diteruskan ke setiap dokumen output agar URL resource relatif diproses berdasarkan lokasi asalnya.

Kode C# untuk Mengekstrak Tabel 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.");
}

Langkah Mengekstrak Tabel dari HTML

  1. Muat file sumber dengan konstruktor HTMLDocument .
  2. Pilih elemen tabel dengan QuerySelectorAll("table") .
  3. Iterasikan elemen yang dikembalikan dan baca OuterHTML setiap tabel.
  4. Buat HTMLDocument baru dari markup yang diekstrak dan URI dasar dokumen sumber.
  5. Panggil Save() dengan nama output unik untuk setiap tabel.

Opsi dan Batasan Ekstraksi Tabel HTML

  • Tentukan cakupan ekstraksi. Gunakan table untuk semua tabel atau selector seperti #price-table, .results table, atau main table untuk membatasi hasil.
  • Pertahankan markup tabel. OuterHTML menyertakan elemen <table>, atribut, baris, sel, dan konten bertingkatnya.
  • Pertahankan konteks resource. document.BaseURI memungkinkan URL relatif ditafsirkan terhadap dokumen sumber.
  • Tangani gaya secara terpisah. Gaya inline dan atribut style tetap ada, tetapi aturan dari <head> atau stylesheet eksternal tidak disalin.
  • Pisahkan markup dari data. Untuk mengumpulkan nilai sel bagi JSON atau CSV, gunakan Mengekstrak Data Tabel HTML .

Dokumentasi Ekstraksi Tabel HTML

Panduan Mengekstrak Tabel HTML di C# membahas pemilihan tabel, pemrosesan baris dan sel, tautan, serta output. Data Extraction menjelaskan DOM, selector CSS, XPath, dan ekstraksi konten web lainnya.


Instal Aspose.HTML for .NET

Instal Aspose.HTML for .NET dari NuGet menggunakan .NET CLI:

dotnet add package Aspose.HTML

Anda juga dapat menggunakan antarmuka NuGet Package Manager atau menjalankan Install-Package Aspose.HTML di Package Manager Console. Lihat panduan instalasi untuk detail penyiapan, atau minta lisensi sementara untuk mengevaluasi API tanpa batasan evaluasi.


Tanya Jawab tentang Ekstraksi Tabel HTML

1. Dapatkah saya mengekstrak semua tabel dari satu file HTML?

Ya. QuerySelectorAll("table") mengembalikan semua tabel sesuai urutan dokumen. Iterasikan hasil dan berikan nama output unik untuk menyimpan setiap tabel secara terpisah.

2. Bagaimana cara mengekstrak hanya satu tabel HTML tertentu?

Gunakan QuerySelector() dengan ID, class, atau selector struktur stabil seperti [id="price-table"] atau main table. Metode ini mengembalikan tabel pertama yang cocok.

3. Apakah tabel HTML yang diekstrak mempertahankan format CSS?

Gaya inline dan atribut style tetap ada dalam OuterHTML. Aturan dari <head> atau stylesheet eksternal harus disalin atau ditautkan secara terpisah.

4. Dapatkah data tabel diekstrak ke CSV atau JSON, bukan markup HTML?

Ya, tetapi alurnya berbeda. Iterasikan baris, baca nilai <th> dan <td>, lalu teruskan ke penulis CSV atau serializer JSON. Lihat Mengekstrak Data Tabel HTML .

5. Apakah tabel HTML bertingkat diekstrak secara terpisah?

Selector table cocok dengan tabel luar dan bertingkat. Gunakan selector yang lebih spesifik jika tabel bertingkat harus tetap hanya di dalam tabel induknya.

Alur Kerja Tabel HTML Terkait

Buat atau edit tabel dan ekstrak nilai sel dengan panduan Aspose.HTML for .NET.