Это простое руководство демонстрирует, как преобразовать 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-файла в виде строки в экземпляр класса HTMLDocument с использованием метода 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, чтобы переопределить метод AcceptNode, который отфильтровывает нежелательные узлы из HTML в процессе преобразования.
В предыдущем разделе мы узнали, как создать HTML-файл на С#. Принимая во внимание, что приведенный выше пример на * C# программно получает простой текст из файла HTML *.