วิธีแปลง HTML เป็นข้อความใน C#

วิธีง่ายๆ นี้สาธิตวิธี แปลง HTML เป็นข้อความใน C# ในการแปลง C# HTML เป็นข้อความธรรมดา สามารถทำได้ง่ายๆ โดยใช้โค้ดไม่กี่บรรทัดสำหรับแอปพลิเคชันที่ใช้ .NET ที่ทำงานบนแพลตฟอร์ม Windows, macOS หรือ Linux

ขั้นตอนในการแปลง HTML เป็นข้อความใน C#

  1. ติดตั้ง Aspose.HTML for .NET จาก NuGet package manager
  2. รวมเนมสเปซ Aspose.HTML ในโครงการของคุณ
  3. โหลดเนื้อหาไฟล์ HTML เป็นสตริง
  4. สร้างอินสแตนซ์ของคลาส HTMLDocument เพื่อโหลดสตริงที่มี HTML
  5. สร้างอินสแตนซ์อินสแตนซ์ของคลาส INodeIterator เพื่อวนซ้ำผ่านโหนดและต่อท้ายใน StringBuilder
  6. สุดท้าย บันทึกข้อความที่แปลงจาก 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 โดยทางโปรแกรม

 ไทย