نحوه تبدیل HTML به متن در سی شارپ

این روش ساده نحوه تبدیل HTML به متن در C# را نشان می دهد. در C# HTML به متن ساده، با استفاده از چند خط کد برای هر برنامه مبتنی بر دات نت که در پلتفرم های Windows، macOS یا Linux اجرا می شود، می توان به راحتی به آن دست یافت.

مراحل تبدیل HTML به متن در سی شارپ

  1. Aspose.HTML for .NET را از مدیر بسته NuGet نصب کنید
  2. فضای نام Aspose.HTML را در پروژه خود قرار دهید
  3. محتوای فایل HTML را در یک رشته بارگیری کنید
  4. یک نمونه از کلاس HTMLDocument برای بارگیری رشته حاوی HTML ایجاد کنید
  5. نمونه کلاس INodeIterator را برای تکرار از طریق گره ها و الحاق در StringBuilder به صورت نمونه سازی کنید.
  6. در نهایت، متن تبدیل شده را از HTML روی دیسک ذخیره کنید

به منظور دریافت متن ساده از HTML C# چند خط کد را می توان به طور موثر در هر برنامه مبتنی بر دات نت استفاده کرد. فرآیند با بارگیری فایل HTML به عنوان String در نمونه HTMLDocument با استفاده از روش File.ReadAllText آغاز می شود. سپس INodeIterator برای استخراج گره ها از HTML و الحاق آنها به StringBuilder استفاده خواهد شد. در نهایت، HTML استخراج شده در StringBuilder روی دیسک ذخیره می شود.

کد برای تبدیل HTML به متن در سی شارپ

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# با استفاده از چند تماس API، HTML را به متن ساده تبدیل می کند. ما از کلاس StyleFilter سفارشی شده استفاده کرده ایم که کلاس NodeFilter را به ارث می برد تا روش AcceptNode را نادیده بگیرد، که گره های نامطلوب را از HTML در طول فرآیند تبدیل فیلتر می کند.

در مبحث قبلی نحوه ایجاد فایل HTML در سی شارپ را یاد گرفتیم. در حالی که مثال بالا در C# متن ساده را از فایل HTML به صورت برنامه نویسی دریافت می کند.

 فارسی