Muat HTML dengan Aspose.HTML for .NET
Aspose.HTML for .NET memuat HTML ke HTMLDocument , yaitu pohon dokumen dalam memori untuk kueri DOM, perubahan konten, ekstraksi data, penyimpanan, dan konversi. Konstruktor HTMLDocument menerima jalur lokal, URL jarak jauh, string markup, atau stream.
Muat File HTML di C#
Berikan jalur file lokal ke konstruktor HTMLDocument. Setelah dimuat, dokumen menyediakan DOM hasil parsing. Contoh berikut membuka input.html dan membaca seluruh markup elemen dokumen melalui
OuterHTML
.
Kode C# untuk Memuat Dokumen HTML dari File
using System;
using Aspose.Html;
using HTMLDocument document = new HTMLDocument("input.html");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
Pilih Sumber HTML dan Konstruktor
- File lokal. Berikan jalur file ketika HTML sudah tersimpan dan resource relatif harus di-resolve dari lokasi dokumen.
- URL jarak jauh. Berikan alamat HTTP atau HTTPS ketika aplikasi perlu memuat halaman web dan resource eksternal yang diizinkan.
- String markup. Berikan kode HTML bersama URL dasar ketika markup sudah tersedia di memori.
- Stream. Berikan stream yang dapat dibaca dan URL dasar ketika HTML berasal dari unggahan, body respons, database, atau sumber dalam memori lainnya.
Muat HTML dari URL di C#
Konstruktor dengan satu alamat dapat membuka halaman web jarak jauh. Pemuatan URL juga memproses resource eksternal yang dapat diakses dan diizinkan oleh konfigurasi lingkungan. Setelah itu, gunakan properti dan metode DOM untuk memeriksa atau mengubah dokumen.
Kode C# untuk Memuat Dokumen HTML dari URL
using System;
using Aspose.Html;
using HTMLDocument document =
new HTMLDocument("https://docs.aspose.com/html/net/creating-a-document/");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
Muat HTML dari String di C#
Gunakan konstruktor dua argumen ketika aplikasi sudah memiliki markup HTML dalam string. Argumen kedua adalah URL dasar untuk me-resolve gambar, stylesheet, skrip, font, dan tautan relatif. Contoh mandiri ini menggunakan "." untuk direktori saat ini; berikan direktori atau alamat web sebenarnya jika markup berisi referensi relatif.
Kode C# untuk Membuat Dokumen HTML dari String
using System;
using Aspose.Html;
string markup = "<p>HTML loaded from a string</p>";
// Use the current directory as the base URL
string baseUrl = ".";
using HTMLDocument document = new HTMLDocument(markup, baseUrl);
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
Muat HTML dari Stream di C#
Konstruktor membaca dari posisi stream saat ini. Jika aplikasi baru menulis HTML, flush writer dan reset posisi sebelum membuat dokumen. Biarkan stream terbuka sampai HTMLDocument selesai membacanya. Contoh menggunakan "." sebagai dasar direktori saat ini karena markup tidak memiliki resource relatif.
Kode C# untuk Memuat Dokumen HTML dari Stream
using System;
using System.IO;
using System.Text;
using Aspose.Html;
using MemoryStream stream = new MemoryStream();
// Keep the stream open after disposing the writer
using (StreamWriter writer = new StreamWriter(stream, Encoding.UTF8, 1024, true))
{
writer.Write("<p>HTML loaded from a stream</p>");
writer.Flush();
}
// Reset the stream before HTMLDocument reads it
stream.Position = 0;
using HTMLDocument document =
new HTMLDocument(stream, ".");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
Perilaku dan Pertimbangan Pemuatan HTML
- Konstruktor mem-parsing HTML menjadi DOM. Pohon hasil mengikuti aturan parsing HTML. Serialisasi berikutnya dapat menormalkan struktur atau markup, sehingga hasilnya tidak selalu identik byte demi byte.
- URL dasar mengontrol resource relatif. String dan stream tidak memiliki lokasi dokumen sendiri. Tentukan lokasi untuk me-resolve CSS, gambar, skrip, font, dan tautan relatif.
- Konstruktor dokumen memuat secara sinkron. Konstruktor menunggu dokumen dan resource eksternal yang diizinkan. Gunakan
Navigate()dan event dokumen untuk navigasi asinkron. - Pemuatan jarak jauh bergantung pada lingkungan. Alamat tidak valid, pengalihan, autentikasi, gangguan jaringan, dan pembatasan keamanan dapat menggagalkan pemuatan.
- Dispose dokumen yang dimuat.
HTMLDocumentmenyimpan status dokumen dan resource. Deklarasi atau blokusingmelepaskannya setelah pemrosesan.
Dokumentasi dan Referensi API Pemuatan HTML
Baca Membuat atau Memuat Dokumen HTML untuk contoh konstruktor, URL dasar, navigasi asinkron, dan masalah umum. Setelah pemuatan, panduan HTML DOM menjelaskan navigasi node dan Mengedit Dokumen HTML menjelaskan perubahan konten serta atribut. Untuk dokumen baru tanpa sumber, lihat Buat HTML di C# .
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.
FAQ Pemuatan HTML
1. Bagaimana cara memuat dokumen HTML di C#?
Berikan jalur lokal atau URL ke konstruktor HTMLDocument. Untuk markup dalam string atau stream, berikan konten bersama URL dasar. Konstruktor mem-parsing sumber dan menyediakan DOM HTML yang dihasilkan.
2. Apakah pemuatan HTML mempertahankan markup sumber secara persis?
Jangan mengandalkan kesamaan byte demi byte. Aspose.HTML mem-parsing sumber menjadi DOM, dan serialisasi dapat menormalkan elemen implisit, encoding, spasi, atau struktur markup sambil mempertahankan model dokumen.
3. Dapatkah Aspose.HTML memuat halaman web secara asinkron?
Ya. Konstruktor memuat secara sinkron. Panduan
Memuat HTML Secara Asinkron
menjelaskan pembuatan dokumen, event OnReadyStateChange atau OnLoad, pemanggilan Navigate(), dan batas waktu aplikasi.
4. Mengapa dokumen HTML jarak jauh gagal dimuat?
Penyebab umum meliputi URL yang salah atau tidak dapat dijangkau, pengalihan, autentikasi, pembatasan jaringan, resource yang diblokir, atau pengaturan keamanan. Periksa alamat dan izinkan hanya akses jaringan yang diperlukan.
5. Bagaimana aplikasi membatasi resource eksternal saat memuat HTML?
Buat dokumen dengan Configuration yang menerapkan pengaturan keamanan dan pemuatan resource yang diperlukan. Batasi akses jarak jauh ke lokasi tepercaya, terutama jika HTML atau URL berasal dari pengguna.
Alur Kerja Dokumen HTML Terkait
Lanjutkan dengan pembuatan, pengeditan, pemilihan elemen, atau kueri terstruktur.