Jak převést HTML na text v C#

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#

  1. Nainstalujte Aspose.HTML for .NET ze správce balíčků NuGet
  2. Zahrňte do svého projektu jmenný prostor Aspose.HTML
  3. Načtěte obsah souboru HTML do řetězce
  4. Vytvořte instanci třídy HTMLDocument pro načtení řetězce obsahujícího HTML
  5. Vytvořte instanci třídy INodeIterator pro iteraci uzlů a připojení v StringBuilderu
  6. 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.

 Čeština