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
- Telepítse a Aspose.HTML for .NET alkalmazást a NuGet csomagkezelőből
- Szerelje be a Aspose.HTML névteret a projektbe
- Töltse be a HTML-fájl tartalmát egy karakterláncba
- Hozzon létre egy példányt a HTMLDocument osztályból a HTML-t tartalmazó karakterlánc betöltéséhez
- 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
- 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.