Αυτός ο απλός τρόπος δείχνει πώς να μετατρέπετε το HTML σε κείμενο σε C#. Σε C# HTML σε απλό κείμενο η μετατροπή μπορεί εύκολα να επιτευχθεί χρησιμοποιώντας λίγες γραμμές κώδικα για οποιαδήποτε εφαρμογή που βασίζεται σε .NET που εκτελείται σε πλατφόρμες Windows, macOS ή Linux.
Βήματα για τη μετατροπή HTML σε κείμενο σε C#
- Εγκαταστήστε το Aspose.HTML for .NET από τον διαχειριστή πακέτων NuGet
- Συμπεριλάβετε τον χώρο ονομάτων Aspose.HTML στο έργο σας
- Φορτώστε το περιεχόμενο του αρχείου HTML σε μια συμβολοσειρά
- Δημιουργήστε μια παρουσία της κλάσης HTMLDocument για να φορτώσετε τη συμβολοσειρά που περιέχει HTML
- Δημιουργήστε στιγμιότυπο κλάσης INodeIterator για επανάληψη μέσω κόμβων και προσθήκη στο StringBuilder
- Τέλος, αποθηκεύστε το μετατρεπόμενο κείμενο από HTML στο δίσκο
Για να λάβετε απλό κείμενο από HTML C# λίγες γραμμές κώδικα μπορούν να χρησιμοποιηθούν αποτελεσματικά σε οποιαδήποτε εφαρμογή που βασίζεται στο .NET. Η διαδικασία ξεκινά με τη φόρτωση του αρχείου HTML ως String στην παρουσία HTMLDocument class χρησιμοποιώντας τη μέθοδο File.ReadAllText. Στη συνέχεια, το INodeIterator θα χρησιμοποιηθεί για την εξαγωγή κόμβων από την HTML και την προσάρτησή τους στο StringBuilder. Τέλος, το εξαγόμενο HTML στο StringBuilder θα αποθηκευτεί στο δίσκο.
Κώδικας για μετατροπή HTML σε κείμενο σε 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); | |
} | |
} | |
} |
Ο παραπάνω κώδικας στο C# μετατρέπει την HTML σε απλό κείμενο χρησιμοποιώντας λίγες κλήσεις API. Χρησιμοποιήσαμε προσαρμοσμένη Κλάση StyleFilter που κληρονομεί την NodeFilter class για να παρακάμψει τη μέθοδο AcceptNode, η οποία φιλτράρει τους ανεπιθύμητους κόμβους από την HTML κατά τη διαδικασία μετατροπής.
Στο προηγούμενο θέμα, μάθαμε πώς να δημιουργία αρχείου HTML σε C#. Ενώ, το παραπάνω παράδειγμα στο C# παίρνει απλό κείμενο από το αρχείο HTML μέσω προγραμματισμού.