HTML เป็นภาษามาร์กอัปที่นิยมใช้ในเว็บไซต์ เว็บแอปพลิเคชัน ฯลฯ เนื้อหาใน HTML จะถูกแยกความแตกต่างโดยใช้แท็กต่างๆ คุณสามารถแปลง HTML เป็นข้อความธรรมดาได้อย่างง่ายดายโดยใช้ภาษา C# โดยไม่สนใจแท็กเปิดและปิด ในทำนองเดียวกัน อาจมีข้อกำหนดเฉพาะของสไตล์ชีตแบบเรียงซ้อน JavaScript หรือส่วนอื่นๆ ของ HTML ตามความต้องการของคุณ ดังนั้นจึงเหมือนกับการดึงข้อความจากเอกสาร HTML ให้เราเดินผ่านส่วนต่อไปนี้สำหรับข้อมูลโดยละเอียด:
- ตัวแปลง HTML เป็นข้อความล้วนใน C#
- แปลง HTML เป็นไฟล์ข้อความโดยใช้ INodeIterator ใน C #
- แยกข้อความจาก HTML ด้วยวิธีการต่างๆ โดยใช้ C#
- แปลง URL เว็บเพจ HTML เป็นข้อความโดยใช้ C#
ตัวแปลง 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 #:
- อ่านไฟล์ HTML อินพุต
- เริ่มต้นอินสแตนซ์ของตัววนซ้ำโหนด
- สร้างอินสแตนซ์ INodeIterator
- ตรวจสอบตัวกรองสไตล์
- อ่านค่าโหนดในสตริง
- เขียนเนื้อหาข้อความของ 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 ตามที่อธิบายไว้ในขั้นตอนด้านล่าง:
- โหลดเอกสาร HTML อินพุต
- กำหนดวิธีการที่ผู้ใช้กำหนด
- ตรวจสอบแต่ละ NodeType เพื่อดูว่าเป็นโหนดองค์ประกอบหรือโหนดข้อความ
- รับองค์ประกอบข้อความโดยใช้คุณสมบัติ TextContent
- บันทึกไฟล์ 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 ด้วยขั้นตอนด้านล่าง:
- เริ่มต้นวัตถุ HTMLDocument และระบุ URL
- อ่านเนื้อหาข้อความในรูปแบบ HTML
- เขียนไฟล์ 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 ฟรีที่ให้คุณสร้างภาพเคลื่อนไหวจากข้อความ