Tạo, đọc và chỉnh sửa tệp HTML trong C#

Tệp HTML(Ngôn ngữ đánh dấu siêu văn bản) chứa các thẻ đánh dấu được sử dụng để định dạng cấu trúc của trang web để hiển thị trong trình duyệt. Chúng ta có thể dễ dàng thao tác lập trình các tệp HTML trong các ứng dụng .NET. Trong bài này, chúng ta sẽ học cách tạo, đọc và chỉnh sửa các tệp HTML trong C#.

Các chủ đề sau sẽ được đề cập trong bài viết này:

  1. C# API để tạo, đọc và chỉnh sửa tệp HTML
  2. Tạo tệp HTML
  3. Đọc tệp HTML
  4. Chỉnh sửa tệp HTML
  5. Thêm nội dung HTML thô trong C#

API C# để tạo, đọc và chỉnh sửa tệp HTML

Để tạo, đọc và chỉnh sửa các tệp HTML, chúng tôi sẽ sử dụng API Aspose.HTML for .NET. Nó là một API xử lý HTML nâng cao cho phép tạo, sửa đổi và trích xuất dữ liệu từ các tài liệu HTML. Nó cũng cho phép chuyển đổi và hiển thị các tài liệu HTML mà không cần bất kỳ phần mềm bên ngoài nào.

Lớp HTMLDocument của API đại diện cho một tài liệu HTML hoặc trang HTML mà chúng tôi thấy trong trình duyệt. Phương thức CreateElement() của lớp này tạo phần tử HTML được chỉ định bởi tagName. Phương thức CreateTextNode (string) tạo một nút Văn bản cho chuỗi được chỉ định. Phương thức AppendChild() của giao diện Node thêm một nút vào cuối danh sách các nút con của một nút cha đã chỉ định. Phương thức Save() lưu tệp đầu ra. Bạn cũng có thể đọc thêm về không gian tên DOM trong tài liệu.

Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.Html

Tạo tệp HTML trong C#

Chúng tôi có thể dễ dàng tạo tệp HTML bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp HTMLDocument.
  2. Tiếp theo, gọi phương thức CreateElement() để tạo các phần tử như tiêu đề, đoạn văn, văn bản, v.v.
  3. Sau đó, gọi phương thức CreateTextNode() để thêm nút văn bản.
  4. Tiếp theo, nối nút đã tạo vào phần tử bằng phương thức AppendChild().
  5. Sau đó, đính kèm các phần tử vào thân tài liệu bằng phương thức HTMLDocument.Body.AppendChild().
  6. Lặp lại các bước trên để thêm các phần tử khác.
  7. Cuối cùng, lưu tài liệu HTML bằng phương thức Save(). Nó lấy đường dẫn tệp đầu ra làm đối số.

Mẫu mã sau đây cho thấy cách tạo tệp HTML bằng C#.

// Ví dụ mã này trình bày cách tạo một tài liệu HTML.

// Tạo một tài liệu HTML trống
var document = new HTMLDocument();

// Thêm tiêu đề
// 1. Tạo một phần tử tiêu đề
var h2 = (HTMLHeadingElement)document.CreateElement("h2");

// 2. Tạo một phần tử văn bản
var text = document.CreateTextNode("This is Sample Heading!");

// 3. thêm phần tử văn bản vào tiêu đề
h2.AppendChild(text);

// 4. Thêm tiêu đề to the document
document.Body.AppendChild(h2);

// Thêm đoạn văn
// 1. Tạo một phần tử đoạn văn
var p = (HTMLParagraphElement)document.CreateElement("p");

// 2. Đặt thuộc tính tùy chỉnh
p.SetAttribute("id", "first-paragraph");

// 3. Tạo một nút văn bản
var paraText = document.CreateTextNode("This is first paragraph. ");

// 4. Thêm văn bản vào đoạn văn
p.AppendChild(paraText);

// 5. Đính kèm đoạn văn vào nội dung tài liệu 
document.Body.AppendChild(p);

// Thêm danh sách có thứ tự
// Tạo một phần tử đoạn văn
var list = (HTMLOListElement)document.CreateElement("ol");

// Thêm li mục 1
var item1 = (HTMLLIElement)document.CreateElement("li");
item1.AppendChild(document.CreateTextNode("First list item."));

// Thêm li mục 2
var item2 = (HTMLLIElement)document.CreateElement("li");
item2.AppendChild(document.CreateTextNode("Second list item."));

// Thêm các mục li vào danh sách
list.AppendChild(item1);
list.AppendChild(item2);

// Đính kèm danh sách vào nội dung tài liệu 
document.Body.AppendChild(list);

// Lưu tài liệu HTML vào một tệp 
document.Save(@"C:\Files\html\create-new-document.html");
Tạo-an-HTML-tệp-trong-CSharp

Tạo tệp HTML trong C#

Đọc tệp HTML trong C#

Trong phần trước, chúng ta đã tạo một tệp HTML. Bây giờ, chúng tôi sẽ tải tệp và đọc nội dung của tệp bằng cách làm theo các bước dưới đây:

  1. Tải tệp HTML hiện có bằng lớp HTMLDocument.
  2. Đọc và hiển thị nội dung của HTMLDocument.DocumentElement.OuterHTML.

Mẫu mã sau đây cho thấy cách đọc tệp HTML bằng C#.

// Ví dụ mã này trình bày cách đọc một tệp HTML
// Chuẩn bị một đường dẫn đầu ra để lưu tài liệu
string documentPath = @"C:\Files\html\create-new-document.html";

// Tải tệp HTML
var document = new HTMLDocument(documentPath);

// Ghi nội dung tài liệu vào luồng đầu ra
Console.WriteLine(document.DocumentElement.OuterHTML);
<html><head></head><body><h2>This is Sample Heading!</h2><p id="first-paragraph">This is first paragraph. </p><ol><li>First list item.</li><li>Second list item.</li></ol></body></html>

Chỉnh sửa tệp HTML trong C#

Chúng tôi cũng có thể cập nhật nội dung của các tệp HTML. Chúng ta có thể thêm nhiều nút / phần tử hơn bằng cách làm theo các bước đã đề cập ở trên. Tuy nhiên, chúng tôi có thể sửa đổi các ghi chú / yếu tố hiện có bằng cách làm theo các bước được đưa ra bên dưới:

  1. Tải tệp HTML hiện có bằng lớp HTMLDocument.
  2. Tiếp theo, gọi phương thức CreateTextNode() để thêm nút văn bản.
  3. Tiếp theo, lấy phần tử đoạn đầu tiên bằng phương thức GetElementsByTagName(). Nó nhận “p” làm đối số.
  4. Sau đó, gọi phương thức AppendChild() để nối thêm nút văn bản.
  5. Lặp lại các bước trên để sửa đổi nhiều phần tử hơn.
  6. Cuối cùng, lưu tài liệu HTML bằng phương thức Save(). Nó lấy đường dẫn tệp đầu ra làm đối số.

Mẫu mã sau đây cho thấy cách sửa đổi tệp HTML bằng C#.

// Ví dụ mã này trình bày cách chỉnh sửa nội dung trích dẫn của tệp HTML.
// Chuẩn bị một đường dẫn đầu ra để lưu tài liệu
string documentPath = @"C:\Files\html\create-new-document.html";

// Tạo một phiên bản của tài liệu HTML
var document = new HTMLDocument(documentPath);

// Tạo một nút văn bản
var oldParaText = document.CreateTextNode("This is old first paragraph.");

// Nhận phần tử đoạn đầu tiên
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.AppendChild(oldParaText);

// Lưu tài liệu HTML vào một tệp 
document.Save(@"C:\Files\html\modify.html");
Edit-an-HTML-File-in-CSharp

Chỉnh sửa tệp HTML trong C#

Mẫu mã sau đây cho thấy một ví dụ phức tạp hơn, trong đó chúng tôi đang thêm các phần tử mới và sửa đổi các phần tử hiện có.

// Ví dụ về mã này trình bày cách thực hiện và chỉnh sửa các phần tử trong một tệp HTML định nghĩa.
// Chuẩn bị một đường dẫn đầu ra để lưu tài liệu
string documentPath = @"C:\Files\html\create-new-document.html";

// Tạo một phiên bản của tài liệu HTML
var document = new HTMLDocument(documentPath);

// Tạo một phần tử kiểu và gán màu xanh lá cây cho tất cả các phần tử có tên lớp bằng 'gr'.
var style = document.CreateElement("style");
style.TextContent = ".rd { color: red }";

// Tìm phần tử tiêu đề tài liệu và nối phần tử kiểu vào tiêu đề
var head = document.GetElementsByTagName("head").First();
head.AppendChild(style);

// Tạo một nút văn bản
var oldParaText = document.CreateTextNode("This is old first paragraph.");

// Tạo một phần tử đoạn văn với tên lớp 'gr'.
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.ClassName = "rd";
p.AppendChild(oldParaText);

// Tạo một phần tử đoạn văn
var newPara = (HTMLParagraphElement)document.CreateElement("p");

// Tạo một nút văn bản
var paraText = document.CreateTextNode("This is second paragraph. ");

// Thêm văn bản vào đoạn văn
newPara.AppendChild(paraText);

// Đính kèm đoạn văn vào nội dung tài liệu 
document.Body.AppendChild(newPara);

// Lưu tài liệu HTML vào một tệp 
document.Save(@"C:\Files\html\edit.html");
Add-Edit-Elements-in-HTML-File-using-CSharp

Thêm và chỉnh sửa các phần tử trong tệp HTML bằng C#

Thêm nội dung HTML thô trong C#

Chúng ta có thể thêm hoặc chỉnh sửa các phần tử bằng cách thêm mã HTML làm nội dung theo cách thủ công bằng cách sử dụng thuộc tính InnerHTML của một phần tử. Chúng tôi có thể thêm HTML thô bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp HTMLDocument.
  2. Tiếp theo, đặt nội dung của phần tử Body.InnerHTML dưới dạng chuỗi HTML thô.
  3. Cuối cùng, lưu tài liệu HTML bằng phương thức Save(). Nó lấy đường dẫn tệp đầu ra làm đối số.

Mẫu mã sau đây cho thấy cách thêm nội dung HTML thô vào tệp bằng C#.

// Ví dụ mã này trình bày cách thêm HTML thô vào nội dung HTML.
// Tạo một phiên bản của tài liệu HTML
using (var document = new HTMLDocument())
{
    // Viết nội dung của tài liệu HTML vào đầu ra của bảng điều khiển
    Console.WriteLine(document.DocumentElement.OuterHTML); 

    // Đặt nội dung của phần tử body
    document.Body.InnerHTML = "<p>HTML is the standard markup language for Web pages.</p>";

    /// Lưu tài liệu HTML vào một tệp 
    document.Save(@"C:\Files\html\using-innerHTML.html");
}
Add-Raw-HTML-Content-in-CSharp

Thêm HTML thô vào tệp HTML bằng C#

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử Aspose.HTML for .NET mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, chúng tôi đã học cách:

  • tạo tài liệu HTML theo chương trình;
  • tải một tài liệu HTML hiện có từ đường dẫn đĩa cục bộ;
  • đọc HTML từ tệp đã tải;
  • thêm nội dung mới vào tệp HTML hiện có;
  • sửa đổi nội dung hiện có trong C#.

Bên cạnh việc tạo, đọc và chỉnh sửa các tệp HTML trong C#, bạn có thể tìm hiểu thêm về Aspose.HTML for .NET API bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm