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
- Muat file sumber dengan konstruktor
HTMLDocument. - Pilih elemen tabel dengan
QuerySelectorAll("table"). - Iterasikan elemen yang dikembalikan dan baca
OuterHTMLsetiap tabel. - Buat
HTMLDocumentbaru dari markup yang diekstrak dan URI dasar dokumen sumber. - Panggil
Save()dengan nama output unik untuk setiap tabel.
Opsi dan Batasan Ekstraksi Tabel HTML
- Tentukan cakupan ekstraksi. Gunakan
tableuntuk semua tabel atau selector seperti#price-table,.results table, ataumain tableuntuk membatasi hasil. - Pertahankan markup tabel.
OuterHTMLmenyertakan elemen<table>, atribut, baris, sel, dan konten bertingkatnya. - Pertahankan konteks resource.
document.BaseURImemungkinkan URL relatif ditafsirkan terhadap dokumen sumber. - Tangani gaya secara terpisah. Gaya inline dan atribut
styletetap 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.