Tento jednoduchý návod ukazuje, jak převést HTML na text v C#. V C# HTML na prostý text lze snadno dosáhnout konverze pomocí několika řádků kódu pro jakoukoli aplikaci založenou na .NET běžící na platformách Windows, macOS nebo Linux.
Kroky k převodu HTML na text v C#
- Nainstalujte Aspose.HTML for .NET ze správce balíčků NuGet
- Zahrňte do svého projektu jmenný prostor Aspose.HTML
- Načtěte obsah souboru HTML do řetězce
- Vytvořte instanci třídy HTMLDocument pro načtení řetězce obsahujícího HTML
- Vytvořte instanci třídy INodeIterator pro iteraci uzlů a připojení v StringBuilderu
- Nakonec uložte převedený text z HTML na disk
Aby bylo možné získat prostý text z HTML C#, lze v jakékoli aplikaci založené na .NET efektivně použít několik řádků kódu. Proces začíná načtením souboru HTML jako String do instance třídy HTMLDocument pomocí metody File.ReadAllText. Potom se INodeIterator použije k extrahování uzlů z HTML a jejich připojení k StringBuilderu. Nakonec bude extrahovaný HTML v StringBuilder uložen na disk.
Kód pro převod HTML na text v 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); | |
} | |
} | |
} |
Výše uvedený kód v C# převádí HTML na prostý text pomocí několika volání API. Použili jsme přizpůsobenou třídu StyleFilter, která zdědí třídu NodeFilter, abychom přepsali metodu AcceptNode, která během procesu převodu filtruje nežádoucí uzly z HTML.
V předchozím tématu jsme se naučili, jak vytvořit HTML soubor v C#. Zatímco výše uvedený příklad v C# programově získá prostý text ze souboru HTML.