วิธีง่ายๆ นี้สาธิตวิธี แปลง HTML เป็นข้อความใน C# ในการแปลง C# HTML เป็นข้อความธรรมดา สามารถทำได้ง่ายๆ โดยใช้โค้ดไม่กี่บรรทัดสำหรับแอปพลิเคชันที่ใช้ .NET ที่ทำงานบนแพลตฟอร์ม Windows, macOS หรือ Linux
ขั้นตอนในการแปลง HTML เป็นข้อความใน C#
- ติดตั้ง Aspose.HTML for .NET จาก NuGet package manager
- รวมเนมสเปซ Aspose.HTML ในโครงการของคุณ
- โหลดเนื้อหาไฟล์ HTML เป็นสตริง
- สร้างอินสแตนซ์ของคลาส HTMLDocument เพื่อโหลดสตริงที่มี HTML
- สร้างอินสแตนซ์อินสแตนซ์ของคลาส INodeIterator เพื่อวนซ้ำผ่านโหนดและต่อท้ายใน StringBuilder
- สุดท้าย บันทึกข้อความที่แปลงจาก HTML บนดิสก์
เพื่อให้ รับข้อความล้วนจาก HTML C# โค้ดสองสามบรรทัดสามารถใช้งานได้อย่างมีประสิทธิภาพในแอปพลิเคชันที่ใช้ .NET กระบวนการเริ่มต้นด้วยการโหลดไฟล์ HTML เป็น String ลงในอินสแตนซ์ HTMLDocument class โดยใช้เมธอด File.ReadAllText จากนั้น INodeIterator จะถูกใช้เพื่อแยกโหนดจาก HTML และผนวกเข้ากับ StringBuilder สุดท้าย HTML ที่แยกออกมาใน StringBuilder จะถูกบันทึกไว้ในดิสก์
รหัสเพื่อแปลง HTML เป็นข้อความใน C
using System; | |
using System.IO; | |
using System.Text; | |
using Aspose.Html; | |
using Aspose.Html.Dom.Traversal; | |
using Aspose.Html.Dom.Traversal.Filters; | |
namespace KbHtml | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
// Set the API license to extract HTML text | |
License license = new License(); | |
license.SetLicense("Aspose.Html.lic"); | |
// Reading HTML file content | |
String HtmlContent = File.ReadAllText("Test2.html"); | |
// Create an object of HTMLDocument | |
using (var HtmlDocument = new HTMLDocument(HtmlContent, "")) | |
{ | |
// Initialize the instance of node iterator to iterate HTML | |
INodeIterator iterator = HtmlDocument.CreateNodeIterator(HtmlDocument, NodeFilter.SHOW_TEXT, | |
new StyleFilter()); | |
StringBuilder Stringbld = new StringBuilder(); | |
Aspose.Html.Dom.Node node; | |
// Iterate through Nodes | |
while ((node = iterator.NextNode()) != null) | |
Stringbld.Append(node.NodeValue); | |
Console.WriteLine(Stringbld.ToString()); | |
File.WriteAllText(@"HtmlToText.txt", Stringbld.ToString()); | |
} | |
} | |
} | |
class StyleFilter : NodeFilter | |
{ | |
public override short AcceptNode(Aspose.Html.Dom.Node node) | |
{ | |
// In order to avoid any element during fetching nodes, write the name of element in capital letters | |
return (node.ParentElement.TagName == "STYLE" || node.ParentElement.TagName == "SCRIPT" | |
? FILTER_REJECT : FILTER_ACCEPT); | |
} | |
} | |
} |
โค้ดข้างต้นใน C# แปลง HTML เป็นข้อความล้วน โดยใช้การเรียก API เพียงไม่กี่ครั้ง เราใช้ คลาส StyleFilter แบบกำหนดเองที่สืบทอด คลาส NodeFilter เพื่อแทนที่เมธอด AcceptNode ซึ่งจะกรองโหนดที่ไม่ต้องการออกจาก HTML ในระหว่างกระบวนการแปลง
ในหัวข้อที่แล้ว เราได้เรียนรู้วิธีการ สร้างไฟล์ HTML ใน C# ในขณะที่ตัวอย่างข้างต้นใน C# รับข้อความธรรมดาจากไฟล์ HTML โดยทางโปรแกรม