Hogyan lehet HTML-t szöveggé konvertálni C#-ban

Ez az egyszerű útmutató bemutatja, hogyan lehet a HTML-t szöveggé konvertálni C#-ban. A C# HTML-ből egyszerű szöveggé könnyen megvalósítható néhány sornyi kód felhasználásával bármely Windows, macOS vagy Linux platformon futó .NET alapú alkalmazás.

Lépések a HTML szöveggé konvertálásához C#-ban

  1. Telepítse a Aspose.HTML for .NET alkalmazást a NuGet csomagkezelőből
  2. Szerelje be a Aspose.HTML névteret a projektbe
  3. Töltse be a HTML-fájl tartalmát egy karakterláncba
  4. Hozzon létre egy példányt a HTMLDocument osztályból a HTML-t tartalmazó karakterlánc betöltéséhez
  5. Példányosítsa az INodeIterator osztálypéldányt a csomópontokon keresztüli iterációhoz és hozzáfűzéshez a StringBuilderben
  6. Végül mentse a konvertált szöveget HTML-ből a lemezre

Annak érdekében, hogy sima szöveget kapjunk a HTML C#-ból, néhány sornyi kód hatékonyan használható bármely .NET alapú alkalmazásban. A folyamat a HTML-fájl karakterláncként történő betöltésével kezdődik a HTMLDocument class példányba a File.ReadAllText metódussal. Ezután az INodeIterator a csomópontok HTML-ből való kinyerésére és a StringBuilderhez való hozzáfűzésére szolgál. Végül a StringBuilderben kibontott HTML lemezre kerül mentésre.

Kód a HTML szöveggé konvertálásához C#-ban

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);
}
}
}

A fenti kód C#-ban a HTML-t egyszerű szöveggé konvertálja néhány API-hívás segítségével. Testreszabott StyleFilter osztályt használtunk, amely a NodeFilter osztályt örökli, hogy felülbírálja az AcceptNode metódust, amely kiszűri a nemkívánatos csomópontokat a HTML-ből a konverziós folyamat során.

Az előző témakörben megtanultuk, hogyan kell HTML fájl létrehozása C#-ban. Míg a fenti példa C#-ban egyszerű szöveget kap programozottan a HTML fájlból.

 Magyar