สร้าง อ่าน และแก้ไขไฟล์ HTML ใน C#

หากคุณเป็นโปรแกรมเมอร์ C# ที่กำลังมองหาวิธีที่มีประสิทธิภาพในการทำงานกับไฟล์ HTML บทความนี้เหมาะสำหรับคุณ เราจะอธิบายพื้นฐานของวิธีการทำงานของ C# กับไฟล์ HTML ตั้งแต่การสร้างตั้งแต่ต้นจนถึงการอ่านและแก้ไขเอกสารที่มีอยู่ ในบทความนี้ เราจะมาเรียนรู้วิธีสร้าง อ่าน และแก้ไขไฟล์ HTML ใน C#

HTML (Hyper Text Markup Language) คือภาษาที่ใช้ในการสร้างเว็บไซต์และหน้าเว็บ ในทางกลับกัน C# เป็นภาษาโปรแกรมเชิงวัตถุที่ใช้ในการสร้างแอปพลิเคชัน ไฟล์ HTML มีแท็กมาร์กอัปที่ใช้ในการจัดรูปแบบโครงสร้างของเว็บเพจสำหรับแสดงในเบราว์เซอร์ เราสามารถจัดการไฟล์ HTML โดยทางโปรแกรมในแอปพลิเคชัน .NET ได้อย่างง่ายดาย ในบทความนี้ เราจะสำรวจวิธีใช้ C# เพื่ออ่าน เขียน และแก้ไขไฟล์ HTML เราจะพิจารณาวิธีการแยกวิเคราะห์โค้ด HTML สำหรับองค์ประกอบเฉพาะ และสร้างองค์ประกอบใหม่ตั้งแต่เริ่มต้นหรือแก้ไของค์ประกอบที่มีอยู่ เอาล่ะ!

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

  1. C# API เพื่อสร้าง อ่าน และแก้ไขไฟล์ HTML
  2. สร้างไฟล์ HTML
  3. อ่านไฟล์ HTML
  4. แก้ไขไฟล์ HTML
  5. เพิ่มเนื้อหา Raw HTML ใน C#

C# API เพื่อสร้าง อ่าน และแก้ไขไฟล์ HTML

ในการสร้าง อ่าน และแก้ไขไฟล์ HTML เราจะใช้ API Aspose.HTML for .NET เป็น API การประมวลผล HTML ขั้นสูงที่อนุญาตให้สร้าง แก้ไข และแยกข้อมูลจากเอกสาร HTML นอกจากนี้ยังอนุญาตให้แปลงและแสดงผลเอกสาร HTML โดยไม่ต้องใช้ซอฟต์แวร์ภายนอก

คลาส HTMLDocument ของ API แสดงถึงเอกสาร HTML หรือหน้า HTML ที่เราเห็นในเบราว์เซอร์ เมธอด CreateElement() ของคลาสนี้สร้างองค์ประกอบ HTML ที่ระบุโดย tagName เมธอด CreateTextNode(string) สร้างโหนดข้อความตามสตริงที่ระบุ เมธอด AppendChild() ของอินเทอร์เฟซโหนดจะเพิ่มโหนดที่ส่วนท้ายของรายการลูกของโหนดพาเรนต์ที่ระบุ เมธอด Save() บันทึกไฟล์เอาต์พุต คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ DOM เนมสเปซ ได้ในเอกสารประกอบ

โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet

PM> Install-Package Aspose.Html

สร้างไฟล์ HTML ใน C#

เราสามารถสร้างไฟล์ HTML ได้ง่ายๆ โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก สร้างอินสแตนซ์ของคลาส HTMLDocument
  2. จากนั้น เรียกใช้เมธอด CreateElement() เพื่อสร้างองค์ประกอบต่างๆ เช่น หัวเรื่อง ย่อหน้า ข้อความ เป็นต้น
  3. จากนั้น เรียกเมธอด CreateTextNode() เพื่อเพิ่มโหนดข้อความ
  4. ถัดไป ผนวกโหนดที่สร้างขึ้นเข้ากับองค์ประกอบโดยใช้เมธอด AppendChild()
  5. หลังจากนั้น ให้แนบองค์ประกอบเข้ากับเนื้อหาเอกสารโดยใช้เมธอด HTMLDocument.Body.AppendChild()
  6. ทำซ้ำขั้นตอนข้างต้นเพื่อเพิ่มองค์ประกอบเพิ่มเติม
  7. สุดท้าย บันทึกเอกสาร HTML โดยใช้เมธอด Save() ใช้เส้นทางไฟล์เอาต์พุตเป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างไฟล์ HTML โดยใช้ C#

// ตัวอย่างรหัสนี้สาธิตวิธีการสร้างเอกสาร HTML

// สร้างเอกสาร HTML เปล่า
var document = new HTMLDocument();

// เพิ่มหัวเรื่อง
// 1. สร้างองค์ประกอบหัวเรื่อง
var h2 = (HTMLHeadingElement)document.CreateElement("h2");

// 2. สร้างองค์ประกอบข้อความ
var text = document.CreateTextNode("This is Sample Heading!");

// 3. เพิ่มองค์ประกอบข้อความในหัวข้อ
h2.AppendChild(text);

// 4. เพิ่มหัวเรื่อง to the document
document.Body.AppendChild(h2);

// เพิ่มย่อหน้า
// 1. สร้างองค์ประกอบย่อหน้า
var p = (HTMLParagraphElement)document.CreateElement("p");

// 2. ตั้งค่าแอตทริบิวต์ที่กำหนดเอง
p.SetAttribute("id", "first-paragraph");

// 3. สร้างโหนดข้อความ
var paraText = document.CreateTextNode("This is first paragraph. ");

// 4. เพิ่มข้อความในย่อหน้า
p.AppendChild(paraText);

// 5. แนบย่อหน้าเข้ากับเนื้อหาของเอกสาร 
document.Body.AppendChild(p);

// เพิ่มรายการสั่งซื้อ
// สร้างองค์ประกอบย่อหน้า
var list = (HTMLOListElement)document.CreateElement("ol");

// เพิ่ม li รายการ 1
var item1 = (HTMLLIElement)document.CreateElement("li");
item1.AppendChild(document.CreateTextNode("First list item."));

// เพิ่ม li รายการ 2
var item2 = (HTMLLIElement)document.CreateElement("li");
item2.AppendChild(document.CreateTextNode("Second list item."));

// เพิ่มรายการ li ในรายการ
list.AppendChild(item1);
list.AppendChild(item2);

// แนบรายการกับตัวเอกสาร 
document.Body.AppendChild(list);

// บันทึกเอกสาร HTML เป็นไฟล์ 
document.Save(@"C:\Files\html\create-new-document.html");
สร้างไฟล์ HTML ใน CSharp

สร้างไฟล์ HTML ใน C#

อ่านไฟล์ HTML ใน C#

ในส่วนก่อนหน้านี้ เราสร้างไฟล์ HTML ตอนนี้เราจะโหลดไฟล์และอ่านเนื้อหาโดยทำตามขั้นตอนด้านล่าง:

  1. โหลดไฟล์ HTML ที่มีอยู่โดยใช้คลาส HTMLDocument
  2. อ่านและแสดงเนื้อหาของ HTMLDocument.DocumentElement.OuterHTML

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านไฟล์ HTML โดยใช้ C#

// ตัวอย่างรหัสนี้สาธิตวิธีการอ่านไฟล์ HTML
// เตรียมเส้นทางออกสำหรับการบันทึกเอกสาร
string documentPath = @"C:\Files\html\create-new-document.html";

// โหลดไฟล์ HTML
var document = new HTMLDocument(documentPath);

// เขียนเนื้อหาของเอกสารไปยังเอาต์พุตสตรีม
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>

แก้ไขไฟล์ HTML ใน C#

เรายังสามารถอัปเดตเนื้อหาของไฟล์ HTML เราสามารถเพิ่มโหนด/อิลิเมนต์ได้โดยทำตามขั้นตอนข้างต้น อย่างไรก็ตาม เราสามารถแก้ไขบันทึก/องค์ประกอบที่มีอยู่ได้โดยทำตามขั้นตอนด้านล่าง:

  1. โหลดไฟล์ HTML ที่มีอยู่โดยใช้คลาส HTMLDocument
  2. ถัดไป เรียกใช้เมธอด CreateTextNode() เพื่อเพิ่มโหนดข้อความ
  3. ถัดไป รับองค์ประกอบย่อหน้าแรกโดยใช้เมธอด GetElementsByTagName() ใช้ “p” เป็นอาร์กิวเมนต์
  4. หลังจากนั้นให้เรียกใช้เมธอด AppendChild() เพื่อต่อท้ายโหนดข้อความ
  5. ทำซ้ำขั้นตอนด้านบนเพื่อแก้ไของค์ประกอบเพิ่มเติม
  6. สุดท้าย บันทึกเอกสาร HTML โดยใช้เมธอด Save() ใช้เส้นทางไฟล์เอาต์พุตเป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแก้ไขไฟล์ HTML โดยใช้ C#

// ตัวอย่างโค้ดนี้สาธิตวิธีการแก้ไขเนื้อหา esiting ของไฟล์ HTML
// เตรียมเส้นทางออกสำหรับการบันทึกเอกสาร
string documentPath = @"C:\Files\html\create-new-document.html";

// สร้างตัวอย่างของเอกสาร HTML
var document = new HTMLDocument(documentPath);

// สร้างโหนดข้อความ
var oldParaText = document.CreateTextNode("This is old first paragraph.");

// รับองค์ประกอบย่อหน้าแรก
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.AppendChild(oldParaText);

// บันทึกเอกสาร HTML เป็นไฟล์ 
document.Save(@"C:\Files\html\modify.html");
แก้ไขและ HTML-ไฟล์ใน CSharp

แก้ไขไฟล์ HTML ใน C#

ตัวอย่างโค้ดต่อไปนี้แสดงตัวอย่างที่ซับซ้อนมากขึ้น ซึ่งเรากำลังเพิ่มองค์ประกอบใหม่และแก้ไของค์ประกอบที่มีอยู่

// ตัวอย่างรหัสนี้สาธิตวิธีการและแก้ไของค์ประกอบในไฟล์ HTML esiting
// เตรียมเส้นทางออกสำหรับการบันทึกเอกสาร
string documentPath = @"C:\Files\html\create-new-document.html";

// สร้างตัวอย่างของเอกสาร HTML
var document = new HTMLDocument(documentPath);

// สร้างองค์ประกอบสไตล์และกำหนดสีเขียวให้กับองค์ประกอบทั้งหมดที่มีชื่อคลาสเท่ากับ 'gr'
var style = document.CreateElement("style");
style.TextContent = ".rd { color: red }";

// ค้นหาองค์ประกอบส่วนหัวของเอกสารและเพิ่มองค์ประกอบรูปแบบต่อท้ายส่วนหัว
var head = document.GetElementsByTagName("head").First();
head.AppendChild(style);

// สร้างโหนดข้อความ
var oldParaText = document.CreateTextNode("This is old first paragraph.");

// สร้างองค์ประกอบย่อหน้าด้วยชื่อคลาส 'gr'
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.ClassName = "rd";
p.AppendChild(oldParaText);

// สร้างองค์ประกอบย่อหน้า
var newPara = (HTMLParagraphElement)document.CreateElement("p");

// สร้างโหนดข้อความ
var paraText = document.CreateTextNode("This is second paragraph. ");

// เพิ่มข้อความในย่อหน้า
newPara.AppendChild(paraText);

// แนบย่อหน้าเข้ากับเนื้อหาของเอกสาร 
document.Body.AppendChild(newPara);

// บันทึกเอกสาร HTML เป็นไฟล์ 
document.Save(@"C:\Files\html\edit.html");
Add-Edit-Elements-in-HTML-File-using-CSharp

เพิ่มและแก้ไของค์ประกอบในไฟล์ HTML โดยใช้ C#

เพิ่มเนื้อหา HTML ดิบใน C#

เราสามารถเพิ่มหรือแก้ไของค์ประกอบได้โดยเพิ่มโค้ด HTML เป็นเนื้อหาด้วยตนเองโดยใช้คุณสมบัติ InnerHTML ขององค์ประกอบ เราสามารถเพิ่ม HTML ดิบได้โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก สร้างอินสแตนซ์ของคลาส HTMLDocument
  2. จากนั้น ตั้งค่าเนื้อหาขององค์ประกอบ Body.InnerHTML เป็นสตริง HTML ดิบ
  3. สุดท้าย บันทึกเอกสาร HTML โดยใช้เมธอด Save() ใช้เส้นทางไฟล์เอาต์พุตเป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มเนื้อหา HTML ดิบลงในไฟล์โดยใช้ C#

// ตัวอย่างโค้ดนี้สาธิตวิธีการเพิ่ม Raw HTML ให้กับเนื้อหา HTML
// สร้างตัวอย่างของเอกสาร HTML
using (var document = new HTMLDocument())
{
    // เขียนเนื้อหาของเอกสาร HTML ลงในคอนโซลเอาต์พุต
    Console.WriteLine(document.DocumentElement.OuterHTML); 

    // กำหนดเนื้อหาขององค์ประกอบร่างกาย
    document.Body.InnerHTML = "<p>HTML is the standard markup language for Web pages.</p>";

    /// บันทึกเอกสาร HTML เป็นไฟล์ 
    document.Save(@"C:\Files\html\using-innerHTML.html");
}
Add-Raw-HTML-Content-in-CSharp

เพิ่ม raw HTML ในไฟล์ HTML โดยใช้ C#

รับใบอนุญาตฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อลองใช้ Aspose.HTML สำหรับ .NET โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีการ:

  • สร้างเอกสาร HTML โดยทางโปรแกรม
  • โหลดเอกสาร HTML ที่มีอยู่จากเส้นทางดิสก์ในเครื่อง
  • อ่าน HTML จากไฟล์ที่โหลด
  • เพิ่มเนื้อหาใหม่ลงในไฟล์ HTML ที่มีอยู่
  • แก้ไขเนื้อหาที่มีอยู่ใน C#

นอกจากการสร้าง อ่าน และแก้ไขไฟล์ HTML ใน C# แล้ว คุณยังสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.HTML สำหรับ .NET API โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย