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

Nếu bạn là một lập trình viên C# đang tìm kiếm một cách hiệu quả để làm việc với các tệp HTML, thì bài viết này là dành cho bạn. Chúng tôi sẽ giải thích những điều cơ bản về cách C# làm việc với các tệp HTML, từ việc tạo chúng từ đầu đến đọc và chỉnh sửa các tài liệu hiện có. Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo, đọc và chỉnh sửa tệp HTML trong C#.

HTML(Ngôn ngữ đánh dấu siêu văn bản) là ngôn ngữ được sử dụng để tạo trang web và trang web. Mặt khác, C# là một ngôn ngữ lập trình hướng đối tượng được sử dụng để xây dựng các ứng dụng. Tệp HTML 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 với các tệp HTML theo lập trình trong các ứng dụng .NET. Trong bài viết này, chúng ta sẽ khám phá cách sử dụng C# để đọc, viết và chỉnh sửa tệp HTML. Chúng ta sẽ xem xét các cách để phân tích cú pháp mã HTML cho các phần tử cụ thể và tạo các phần tử mới từ đầu hoặc chỉnh sửa các phần tử hiện có. Hãy bắt đầu nào!

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

  1. API C# để 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 Aspose.HTML for .NET API. Đây là API xử lý HTML nâng cao cho phép tạo, sửa đổi và trích xuất dữ liệu từ 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 ta 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 nút Văn bản cho chuỗi đã chỉ định. Phương thức AppendChild() của giao diện Nút thêm một nút vào cuối danh sách nút con của một nút cha được 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 một tệp HTML trong C#

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

  1. Đầu tiên, tạo một thể hiện của lớp HTMLDocument.
  2. Tiếp theo, gọi phương thức CreateElement() để tạo các thành phần 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 nội dung 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 yếu 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 biết cách tạo tệp HTML bằng C#.

// Ví dụ mã này trình bày cách tạo 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 phần tử tiêu đề
var h2 = (HTMLHeadingElement)document.CreateElement("h2");

// 2. Tạo 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
// 1. Tạo thành phần đ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 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 đặt hàng
// Tạo phần tử đoạn văn
var list = (HTMLOListElement)document.CreateElement("ol");

// Thêm mục li 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 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-một-tệp-HTML-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 nó bằng cách thực hiện 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 biết cách đọc tệp HTML bằng C#.

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

// Tải một 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 tệp HTML. Chúng tôi 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 đề 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 thực hiện theo các bước dưới đây:

  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ó lấy “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 yếu 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 biết 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 trang web của tệp HTML.
// Chuẩn bị đường dẫn đầu ra để lưu tài liệu
string documentPath = @"C:\Files\html\create-new-document.html";

// Tạo một thể hiệ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");
Chỉnh-tệp-HTML-trong-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 và cũng như chỉnh sửa các thành phần trong tệp HTML hiện tại.
// Chuẩn bị đường dẫn đầu ra để lưu tài liệu
string documentPath = @"C:\Files\html\create-new-document.html";

// Tạo một thể hiệ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 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 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");
Thêm-Chỉnh sửa-Thành phần-trong-HTML-Tệp-sử dụng-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 tôi có thể thêm hoặc chỉnh sửa các phần tử bằng cách thêm mã HTML dưới dạng 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 thể hiện của lớp HTMLDocument.
  2. Tiếp theo, đặt nội dung của phần tử Body.InnerHTML làm 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 biết 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 phần thân HTML.
// Tạo một thể hiệ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àn điều khiển
    Console.WriteLine(document.DocumentElement.OuterHTML); 

    // Đặt nội dung của phần tử cơ thể
    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 tin 
    document.Save(@"C:\Files\html\using-innerHTML.html");
}
Thêm-Raw-HTML-Nội dung-trong-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 bị giới hạn đánh giá.

Phần kết luận

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

  • tạo tài liệu HTML theo chương trình;
  • tải 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