Tài liệu HTML được tạo ở đâu?

Phần này cung cấp hướng dẫn chi tiết về cách tạo tài liệu HTML. giả định. HTML cho. NET API cung cấp một lớp HTMLDocument là gốc của hệ thống phân cấp HTML và chứa toàn bộ nội dung

Bạn có thể tải xuống các ví dụ và tệp dữ liệu hoàn chỉnh từ GitHub

HTMLDocument là điểm khởi đầu cho Aspose. thư viện lớp HTML. Bạn có thể tải trang HTML vào Mô hình đối tượng tài liệu (DOM) bằng cách sử dụng lớp HTMLDocument và sau đó đọc theo chương trình, sửa đổi cây tài liệu, thêm và xóa nút, thay đổi thuộc tính nút trong tài liệu như được mô tả trong thông số kỹ thuật chính thức

Lớp HTMLDocument cung cấp một biểu diễn trong bộ nhớ của một HTML DOM và hoàn toàn dựa trên các thông số kỹ thuật của W3C DOM và WHATWG DOM được hỗ trợ trong nhiều trình duyệt hiện đại. Nếu bạn đã quen thuộc với các tiêu chuẩn WHATWG DOM , WHATWG HTML và JavaScript, bạn sẽ thấy khá thoải mái khi sử dụng Aspose. thư viện HTML. Nếu không, bạn có thể truy cập www. w3schools. com , nơi bạn có thể tìm thấy rất nhiều ví dụ và hướng dẫn về cách làm việc với tài liệu HTML

Tài liệu HTML có thể được tạo từ đầu dưới dạng tài liệu trống có cấu trúc HTML, từ chuỗi, từ luồng bộ nhớ hoặc được tải từ tệp hoặc URL. HTMLDocument có một số hàm tạo quá tải cho phép bạn tạo hoặc tải tài liệu HTML

Tạo một tài liệu HTML trống

Sau khi đối tượng tài liệu được tạo, nó có thể được lấp đầy sau bằng các phần tử HTML. Đoạn mã sau đây cho thấy việc sử dụng hàm tạo HTMLDocument() mặc định để tạo một tài liệu HTML trống và lưu nó vào một tệp

using System.IO;
using Aspose.Html;
...
    // Prepare an output path for a document saving
    string documentPath = Path.Combine(OutputDir, "create-empty-document.html");    

    // Initialize an empty HTML document
    using (var document = new HTMLDocument())
    {
        // Work with the document
        
        // Save the document to a file
        document.Save(documentPath);
    }

Sau khi tạo, tệp tạo tài liệu trống. html xuất hiện với cấu trúc tài liệu ban đầu. tài liệu trống bao gồm các thành phần như và. Chi tiết khác về cách lưu tệp HTML có trong phần Lưu tài liệu HTML

Tạo một tài liệu HTML mới

Nếu bạn muốn tạo tài liệu theo chương trình từ đầu, vui lòng sử dụng hàm tạo không có tham số như được chỉ định trong đoạn mã sau

using System.IO;
using Aspose.Html;
...
    // Prepare an output path for a document saving
    string documentPath = Path.Combine(OutputDir, "create-new-document.html");
			
	// Initialize an empty HTML document
	using (var document = new HTMLDocument())
	{
	    // Create a text element and add it to the document
	    var text = document.CreateTextNode("Hello World!");
	    document.Body.AppendChild(text);
	
	    // Save the document to a disk
	    document.Save(documentPath);
	}

Trong tài liệu mới, chúng tôi đã tạo một nút văn bản, đã cho chuỗi đã chỉ định, sử dụng phương thức CreateTextNode() và thêm nó vào phần tử nội dung bằng phương thức AppendChild(). Cách chỉnh sửa tệp HTML được mô tả chi tiết trong phần Chỉnh sửa Tài liệu HTML

Tải từ một tệp

Đoạn mã sau cho biết cách tải HTMLDocument từ một tệp hiện có

using System;
using Aspose.Html;
...
     // Prepare an output path for a file saving
	 var htmlFile = Path.Combine(OutputDir, "load-from-file.html");
	
    // Prepare a 'load-from-file.html' document
    File.WriteAllText(htmlFile, "Hello World!");
    
    // Load from the 'load-from-file.html' 
    using (var document = new HTMLDocument(htmlFile))
    {
        // Write the document content to the output stream
        Console.WriteLine(document.DocumentElement.OuterHTML);
    }

Trong ví dụ trên, tài liệu HTML được tải từ một tệp bằng cách sử dụng hàm tạo HTMLDocument (

using System.IO;
using Aspose.Html;
...
    // Prepare an output path for a document saving
    string documentPath = Path.Combine(OutputDir, "create-new-document.html");
			
	// Initialize an empty HTML document
	using (var document = new HTMLDocument())
	{
	    // Create a text element and add it to the document
	    var text = document.CreateTextNode("Hello World!");
	    document.Body.AppendChild(text);
	
	    // Save the document to a disk
	    document.Save(documentPath);
	}
0). Nếu bạn cần tải một tệp HTML hiện có từ đĩa, làm việc và lưu nó, thì đoạn mã sau sẽ giúp bạn

using System.IO;
using Aspose.Html;
...
    // Prepare a path to a file
	string documentPath = Path.Combine(DataDir, "Sprite.html");
    
    // Initialize an HTML document from a file
    using (var document = new HTMLDocument(documentPath))
    {
        // Work with the document
               
        // Save the document to a disk
        document.Save(Path.Combine(OutputDir, "Sprite_out.html"));
    }

Tải từ một URL

Khả năng chọn tệp và tương tác với chúng trên thiết bị cục bộ của người dùng là một trong những tính năng được sử dụng nhiều nhất của Internet. Trong đoạn mã tiếp theo, bạn có thể xem cách tải một trang web vào HTMLDocument

Trong trường hợp nếu bạn nhập sai URL không thể truy cập được ngay lúc này, thư viện sẽ ném DOMException với mã chuyên dụng 'NetworkError' để thông báo cho bạn rằng không thể tìm thấy tài nguyên đã chọn

using System;
using Aspose.Html;
...
    // Load a document from 'https://docs.aspose.com/html/net/working-with-documents/creating-a-document/document.html' web page
    using (var document = new HTMLDocument("https://docs.aspose.com/html/net/working-with-documents/creating-a-document/document.html"))
    {
        // Write the document content to the output stream
        Console.WriteLine(document.DocumentElement.OuterHTML);
    }

Trong ví dụ trên, chúng tôi đã chỉ định tài liệu. tệp html để tải từ URL

Tải từ Mã HTML

Nếu bạn chuẩn bị mã HTML dưới dạng Hệ thống trong bộ nhớ. Chuỗi hoặc Hệ thống. IO. Truyền đối tượng, bạn không cần lưu chúng vào tệp, chỉ cần chuyển mã HTML của bạn vào các hàm tạo chuyên dụng

Trong trường hợp mã HTML của bạn có các tài nguyên được liên kết (kiểu, tập lệnh, hình ảnh, v.v. ), bạn cần truyền tham số baseUrl hợp lệ cho hàm tạo của tài liệu. Nó sẽ được sử dụng để giải quyết vị trí của tài nguyên trong quá trình tải tài liệu

Tải từ một Chuỗi

Bạn có thể tạo tài liệu từ nội dung chuỗi bằng hàm tạo HTMLDocument (

using System.IO;
using Aspose.Html;
...
    // Prepare an output path for a document saving
    string documentPath = Path.Combine(OutputDir, "create-new-document.html");
			
	// Initialize an empty HTML document
	using (var document = new HTMLDocument())
	{
	    // Create a text element and add it to the document
	    var text = document.CreateTextNode("Hello World!");
	    document.Body.AppendChild(text);
	
	    // Save the document to a disk
	    document.Save(documentPath);
	}
1). Nếu trường hợp của bạn là tạo một tài liệu từ chuỗi người dùng trực tiếp trong mã của bạn và lưu nó vào một tệp, ví dụ sau có thể giúp bạn. chúng tôi tạo một tài liệu HTML có chứa “Xin chào thế giới. " chữ

using System IO;
using Aspose.Html;
...
    // Prepare HTML code
    var html_code = "

Hello World!

"; // Initialize a document from the string variable using (var document = new HTMLDocument(html_code, ".")) { // Save the document to a disk document.Save(Path.Combine(OutputDir, "create-from-string.html")); }

Tải từ một luồng

Để tạo tài liệu HTML từ một luồng, bạn có thể sử dụng hàm tạo HTMLDocument(

using System.IO;
using Aspose.Html;
...
    // Prepare an output path for a document saving
    string documentPath = Path.Combine(OutputDir, "create-new-document.html");
			
	// Initialize an empty HTML document
	using (var document = new HTMLDocument())
	{
	    // Create a text element and add it to the document
	    var text = document.CreateTextNode("Hello World!");
	    document.Body.AppendChild(text);
	
	    // Save the document to a disk
	    document.Save(documentPath);
	}
2)

using System IO;
using Aspose.Html;
...
    // Create a memory stream object
    using (var mem = new MemoryStream())
    using (var sw = new StreamWriter(mem))
    {
        // Write the HTML code into memory object
        sw.Write("

Hello World! I love HTML!

"); // It is important to set the position to the beginning since HTMLDocument starts the reading exactly from the current position within the stream sw.Flush(); mem.Seek(0, SeekOrigin.Begin); // Initialize a document from the string variable using (var document = new HTMLDocument(mem, ".")) { // Save the document to a disk document.Save(Path.Combine(OutputDir, "load-from-stream.html")); } }

Tài liệu SVG

Vì Đồ họa vectơ có thể mở rộng (SVG) là một phần của tiêu chuẩn W3C và có thể được nhúng vào HTMLDocument nên chúng tôi đã triển khai SVGDDocument và tất cả chức năng của nó. Việc triển khai của chúng tôi dựa trên thông số kỹ thuật SVG 2 chính thức, vì vậy bạn có thể tải, đọc, thao tác với các tài liệu SVG như được mô tả chính thức

Vì SVGDDocument và HTMLDocument dựa trên cùng một tiêu chuẩn WHATWG DOM nên tất cả các thao tác như tải, đọc, chỉnh sửa, chuyển đổi và lưu đều giống nhau đối với cả hai tài liệu. Vì vậy, tất cả các ví dụ mà bạn có thể thấy thao tác với HTMLDocument cũng có thể áp dụng cho SVGDDocument

Bạn có thể tạo tài liệu từ nội dung chuỗi bằng cách sử dụng hàm tạo SVGDocument (

using System.IO;
using Aspose.Html;
...
    // Prepare an output path for a document saving
    string documentPath = Path.Combine(OutputDir, "create-new-document.html");
			
	// Initialize an empty HTML document
	using (var document = new HTMLDocument())
	{
	    // Create a text element and add it to the document
	    var text = document.CreateTextNode("Hello World!");
	    document.Body.AppendChild(text);
	
	    // Save the document to a disk
	    document.Save(documentPath);
	}
1). Nếu bạn muốn tải Tài liệu SVG từ Hệ thống trong bộ nhớ. Biến chuỗi và bạn không cần lưu nó vào tệp;

using System;
using Aspose.Html.Dom.Svg;
...
    // Initialize an SVG document from a string object
    using (var document = new SVGDocument("", "."))
    {
        // Write the document content to the output stream
        Console.WriteLine(document.DocumentElement.OuterHTML);
	}

Trong ví dụ trên, chúng tôi đã tạo một tài liệu SVG chứa một hình tròn có bán kính 40 pixel. Bạn có thể tìm hiểu thêm về cách làm việc với các tài liệu SVG từ Cách làm việc với Aspose. Chương API SVG

Tài liệu MHTML

MHTML là viết tắt của MIME đóng gói các tài liệu HTML tổng hợp. Tệp MHTML là tệp lưu trữ chứa tất cả nội dung của trang web. Nó lưu trữ HTML của một trang web cũng như các tài nguyên liên quan trên một trang web, có thể bao gồm các tệp CSS, JavaScript, hình ảnh và âm thanh. Đây là một định dạng chuyên dụng để tạo kho lưu trữ trang web và các nhà phát triển web chủ yếu sử dụng các tệp MHTML để lưu trạng thái hiện tại của trang web cho mục đích lưu trữ. các aspose. Thư viện HTML hỗ trợ định dạng này, nhưng với một số hạn chế. Chúng tôi chỉ hỗ trợ các thao tác kết xuất từ ​​MHTML sang các định dạng đầu ra được hỗ trợ. Để biết thêm chi tiết, vui lòng đọc bài viết Chuyển đổi giữa các định dạng

Tài liệu EPUB

EPUB là định dạng được đa số thiết bị đọc sách điện tử hỗ trợ và tương thích với hầu hết các thiết bị bạn đọc - điện thoại thông minh, máy tính bảng và máy tính. Đối với định dạng EPUB, đại diện cho định dạng xuất bản điện tử, chúng tôi có cùng giới hạn như đối với MHTML. Chúng tôi chỉ hỗ trợ các thao tác kết xuất từ ​​EPUB sang các định dạng đầu ra được hỗ trợ. Để biết thêm chi tiết, vui lòng đọc bài viết Chuyển đổi giữa các định dạng

Hoạt động không đồng bộ

Chúng tôi nhận thấy rằng việc tải tài liệu có thể là một hoạt động sử dụng nhiều tài nguyên vì nó yêu cầu tải không chỉ bản thân tài liệu mà còn tất cả các tài nguyên được liên kết và xử lý tất cả các tập lệnh. Vì vậy, trong các đoạn mã sau, chúng tôi chỉ cho bạn cách sử dụng các thao tác không đồng bộ và tải HTMLDocument mà không chặn luồng chính

using System;
using Aspose.Html;
using System.Threading;
...
    // Initialize an AutoResetEvent
    var resetEvent = new AutoResetEvent(false);
			
	// Create an instance of an HTML document
	var document = new HTMLDocument();
	
	// Create a string variable for OuterHTML property reading
	var outerHTML = string.Empty;
	
	// Subscribe to 'ReadyStateChange' event
	// This event will be fired during the document loading process
	document.OnReadyStateChange += (sender, @event) =>
	{
	    // Check the value of the 'ReadyState' property
	    // This property is representing the status of the document. For detail information please visit https://www.w3schools.com/jsref/prop_doc_readystate.asp
	    if (document.ReadyState == "complete")
	    {
	        // Fill the outerHTML variable by value of loaded document                  
	        outerHTML = document.DocumentElement.OuterHTML;
			resetEvent.Set();
	    }
	};
	
	// Navigate asynchronously at the specified Uri
	document.Navigate("https://docs.aspose.com/html/net/working-with-documents/creating-a-document/document.html");
	
	// Here the outerHTML is empty yet
    Console.WriteLine($"outerHTML = {outerHTML}");
                   
        // Wait 5 seconds for the file to load
        if (!resetEvent.WaitOne(5000))
        {
            Console.WriteLine("Thread works too long, more than 5000 ms");
        }

    // Here the outerHTML is filled 
    Console.WriteLine("outerHTML = {0}", outerHTML);

ReadyStateChange không phải là sự kiện duy nhất có thể được sử dụng để xử lý hoạt động tải không đồng bộ, bạn cũng có thể đăng ký sự kiện Tải, như sau

Tôi có thể tìm tài liệu HTML ở đâu?

HTML. Xem tệp HTML .
khởi động trình duyệt của bạn
trong menu "Tệp", nhấp vào "Mở trang".
trong hộp mới này, nhấp vào "Chọn tệp" (nếu bạn không thể điền trực tiếp vị trí của tệp)
khi tìm thấy tệp (trong cửa sổ "Trình duyệt tệp"), hãy nhấp vào "OK"

Làm thế nào một tệp HTML được tạo và lưu?

Chọn Tệp > Lưu dưới dạng và chọn HTML từ danh sách thả xuống. Đặt tên tệp có phần mở rộng là. html, chỉ định vị trí tệp và nhấp vào Lưu. Tệp đã chuyển đổi được lưu ở nơi bạn đã chỉ định

Chương trình HTML được viết ở đâu?

Chúng ta cũng có thể sử dụng trình soạn thảo văn bản Notepad++ trong windows để viết các chương trình HTML. Sau khi học những kiến ​​thức cơ bản, chúng ta có thể sử dụng các trình soạn thảo chuyên nghiệp khác như Notepad++, Sublime Text, Vim, v.v. Bước 2 - Bây giờ, hãy bắt đầu viết chương trình HTML trong trình soạn thảo văn bản. Các thẻ HTML được đặt trong các thẻ mở (<>) và thẻ đóng ()

Cái gì được sử dụng để tạo một tài liệu HTML?

HTML document begins with the declaration, and the HTML documents start and end with the and tags. The head which contains the information about the document title etc. The information inside this tag does not display outside (on web page).