Ovaj jednostavan način demonstrira kako pretvoriti HTML u tekst u C#. U C# HTML-u u običan tekst pretvorba se može lako postići upotrebom nekoliko redaka koda za bilo koju aplikaciju temeljenu na .NET-u koja radi na platformama Windows, macOS ili Linux.
Koraci za pretvaranje HTML-a u tekst u C#
- Instalirajte Aspose.HTML for .NET iz upravitelja paketa NuGet
- Uključite prostor imena Aspose.HTML u svoj projekt
- Učitajte sadržaj HTML datoteke u niz
- Napravite instancu klase HTMLDocument za učitavanje niza koji sadrži HTML
- Instancirajte instancu klase INodeIterator za ponavljanje kroz čvorove i dodavanje u StringBuilder
- Na kraju, spremite konvertirani tekst iz HTML-a na disk
Kako biste dobili običan tekst iz HTML C#, nekoliko redaka koda može se učinkovito koristiti u bilo kojoj aplikaciji temeljenoj na .NET-u. Proces počinje učitavanjem HTML datoteke kao String u instancu HTMLDocument class pomoću metode File.ReadAllText. Zatim će se INodeIterator koristiti za izdvajanje čvorova iz HTML-a i njihovo dodavanje u StringBuilder. Konačno, ekstrahirani HTML u StringBuilderu bit će spremljen na disk.
Kod za pretvaranje HTML-a u tekst u 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); | |
} | |
} | |
} |
Gornji kod u C# pretvara HTML u običan tekst pomoću nekoliko API poziva. Koristili smo prilagođenu StyleFilter klasu koja nasljeđuje NodeFilter klasu za nadjačavanje AcceptNode metode, koja filtrira nepoželjne čvorove iz HTML-a tijekom procesa konverzije.
U prethodnoj temi naučili smo kako izradi HTML datoteku u C#. Dok gornji primjer u C# programski dobiva čisti tekst iz HTML datoteke.