แปลงข้อความ HTML แยก

HTML เป็นภาษามาร์กอัปที่นิยมใช้ในเว็บไซต์ เว็บแอปพลิเคชัน ฯลฯ เนื้อหาใน HTML จะถูกแยกความแตกต่างโดยใช้แท็กต่างๆ คุณสามารถแปลง HTML เป็นข้อความธรรมดาได้อย่างง่ายดายโดยใช้ภาษา C# โดยไม่สนใจแท็กเปิดและปิด ในทำนองเดียวกัน อาจมีข้อกำหนดเฉพาะของสไตล์ชีตแบบเรียงซ้อน JavaScript หรือส่วนอื่นๆ ของ HTML ตามความต้องการของคุณ ดังนั้นจึงเหมือนกับการดึงข้อความจากเอกสาร HTML ให้เราเดินผ่านส่วนต่อไปนี้สำหรับข้อมูลโดยละเอียด:

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

คุณสามารถแปลง HTML เป็นข้อความล้วนด้วย Aspose.HTML for .NET API สามารถกำหนดค่าได้อย่างง่ายดายในสภาพแวดล้อมที่ใช้ .NET Framework โดยใช้คำสั่งการติดตั้ง NuGet ต่อไปนี้:

PM> Install-Package Aspose.Html

แปลง HTML เป็นไฟล์ข้อความโดยใช้ INodeIterator ใน C

Aspose.HTML for .NET API อิงตาม DOM (Document Object Model) คุณจึงสามารถวนซ้ำผ่านโหนดต่างๆ ของ API โดยใช้อินเทอร์เฟซ INodeIterator ในทำนองเดียวกัน ให้คุณควบคุมเพื่อกำหนด NodeFilter และแทนที่เมธอดสำหรับการกรองเนื้อหา คุณสามารถละเว้นสไตล์ สคริปต์ หรือองค์ประกอบอื่นๆ ในไฟล์ HTML เพื่อเลือกเฉพาะสตริงข้อความ ด้านล่างนี้เป็นขั้นตอนในการแปลง HTML เป็นไฟล์ TXT ธรรมดาโดยใช้ C #:

  1. อ่านไฟล์ HTML อินพุต
  2. เริ่มต้นอินสแตนซ์ของตัววนซ้ำโหนด
  3. สร้างอินสแตนซ์ INodeIterator
  4. ตรวจสอบตัวกรองสไตล์
  5. อ่านค่าโหนดในสตริง
  6. เขียนเนื้อหาข้อความของ HTML เป็นไฟล์ TXT

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

String content = File.ReadAllText(dataDir + "Test2.html");

// สร้างตัวอย่างของเอกสาร HTML
using (var document = new HTMLDocument(content, ""))
{
    // วิธีแรกในการรวบรวมองค์ประกอบข้อความจากเอกสาร
    // เริ่มต้นอินสแตนซ์ของตัววนซ้ำโหนด
    Aspose.Html.Dom.Traversal.INodeIterator iterator = document.CreateNodeIterator(document, Aspose.Html.Dom.Traversal.Filters.NodeFilter.SHOW_TEXT, new StyleFilter());
    StringBuilder sb = new StringBuilder();
    Aspose.Html.Dom.Node node;
    while ((node = iterator.NextNode()) != null)
        sb.Append(node.NodeValue);
    Console.WriteLine(sb.ToString());

    File.WriteAllText(@"NodeIterator.txt", sb.ToString());
}


///<summary>
/// แสดงถึงตัวกรองผู้ใช้ที่สร้างขึ้นเพื่อละเว้นเนื้อหาขององค์ประกอบ 'สไตล์' และ 'สคริปต์'
///</summary>
class StyleFilter : Aspose.Html.Dom.Traversal.Filters.NodeFilter
{
    public override short AcceptNode(Aspose.Html.Dom.Node n)
    {
        //หากคุณต้องการหลีกเลี่ยงองค์ประกอบใด ๆ ให้เขียนชื่อด้วยตัวพิมพ์ใหญ่
        return (n.ParentElement.TagName == "STYLE" || n.ParentElement.TagName == "SCRIPT" ? FILTER_REJECT : FILTER_ACCEPT);
    }
}

แยกข้อความจาก HTML ด้วยวิธีการต่างๆ โดยใช้ C#

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

  1. โหลดเอกสาร HTML อินพุต
  2. กำหนดวิธีการที่ผู้ใช้กำหนด
  3. ตรวจสอบแต่ละ NodeType เพื่อดูว่าเป็นโหนดองค์ประกอบหรือโหนดข้อความ
  4. รับองค์ประกอบข้อความโดยใช้คุณสมบัติ TextContent
  5. บันทึกไฟล์ TXT เอาต์พุต

ข้อมูลโค้ดด้านล่างอธิบายวิธีการที่แตกต่างกันสองวิธีในการแปลง HTML เป็นข้อความล้วนใน C#:

String text = "";
String content = File.ReadAllText(dataDir + "Test2.html");
// สร้างตัวอย่างของเอกสาร HTML
var document = new HTMLDocument(content, "");

// วิธีที่สองในการรวบรวมองค์ประกอบข้อความจากเอกสารโดยใช้วิธีการกำหนดเอง
text = GetContent(document.Body);

File.WriteAllText("Test.txt", text);

// วิธีที่สามในการรวบรวมองค์ประกอบข้อความจากเอกสารโดยใช้คุณสมบัติ TextContent
text = document.Body.TextContent;

File.WriteAllText("Test.txt", text);



static string GetContent(Aspose.Html.Dom.Node node)
{
    StringBuilder sb = new StringBuilder();
    foreach (var n in node.ChildNodes)
    {
        if (n.NodeType == Aspose.Html.Dom.Node.ELEMENT_NODE)
            sb.Append(GetContent(n));
        else if (n.NodeType == Aspose.Html.Dom.Node.TEXT_NODE)
            sb.Append(n.NodeValue);
    }
    return sb.ToString();
}

แปลง URL เว็บเพจ HTML เป็นข้อความโดยใช้ C#

เราได้ครอบคลุมการแปลง HTML ของหน้าเว็บออฟไลน์เป็นข้อความซึ่งจำเป็นต้องมีไฟล์ HTML โดยการดาวน์โหลดลงในดิสก์ ให้เราก้าวไปอีกขั้นโดยที่คุณไม่จำเป็นต้องบันทึกไฟล์ HTML ลงในดิสก์ด้วยซ้ำ คุณสามารถแปลงหน้าเว็บได้โดยตรงโดยระบุ URL เป็นไฟล์ TXT โดยใช้ C# ตัวอย่างเช่น ให้เราแปลงหน้าผลิตภัณฑ์ของ Aspose.HTML for .NET API เป็นไฟล์ TXT ด้วยขั้นตอนด้านล่าง:

  1. เริ่มต้นวัตถุ HTMLDocument และระบุ URL
  2. อ่านเนื้อหาข้อความในรูปแบบ HTML
  3. เขียนไฟล์ TXT ด้วยข้อความที่ดึงมาจากหน้าเว็บ

รหัสด้านล่างแสดงวิธีการแปลง URL เว็บเพจ HTML เป็นข้อความโดยใช้ C #:

// เริ่มต้นวัตถุ HTMLDocument ด้วย URL
HTMLDocument document = new HTMLDocument("https://products.aspose.com/html/net");
            
// อ่านเนื้อหาข้อความในรูปแบบ HTML
String text = document.Body.TextContent;
            
// เขียนไฟล์ TXT ด้วยข้อความที่แยกออกมา
File.WriteAllText("Webpage.txt", text);

บทสรุป

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

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

เคล็ดลับ: คุณอาจสนใจ Text to GIF Converter ฟรีที่ให้คุณสร้างภาพเคลื่อนไหวจากข้อความ