המר חלץ HTML טקסט

HTML היא שפת סימון שנמצאת בשימוש פופולרי באתרי אינטרנט, יישומי אינטרנט וכו’. התוכן ב-HTML מובחן באמצעות תגים שונים. אתה יכול בקלות להמיר HTML לטקסט רגיל באמצעות שפת C# תוך התעלמות מתגי הפתיחה והסגירה. באופן דומה, יכולים להיות כמה מפרטי גיליונות סגנונות מדורגים, JavaScript או כל קטע אחר ב-HTML לפי הדרישות שלך. לכן, זה כמו חילוץ טקסט ממסמך HTML. הבה נעבור על הסעיף הבא לקבלת מידע מפורט:

ממיר HTML לטקסט פשוט ב-C#

אתה יכול להמיר HTML לטקסט פשוט עם Aspose.HTML for .NET API. ניתן להגדיר אותו בקלות בסביבה מבוססת .NET Framework באמצעות פקודת ההתקנה הבאה NuGet:

PM> Install-Package Aspose.Html

המרת HTML לקובץ טקסט באמצעות INodeIterator ב-C#

Aspose.HTML עבור .NET API מבוסס על DOM (Document Object Model) כך שתוכל לעבור דרך צמתים שונים של ה-API באמצעות ממשק INodeIterator. באופן דומה, זה נותן לך את השליטה להגדיר NodeFilter ולעקוף שיטות לסינון תוכן. אתה יכול להתעלם מהסגנון, הסקריפט או כל רכיב אחר בקובץ ה-HTML כדי לבחור רק את מחרוזת הטקסט מתוכו. להלן השלבים להמרת HTML לקובץ TXT רגיל באמצעות C#:

  1. קרא קובץ HTML קלט
  2. אתחול המופע של איטרטור הצומת
  3. צור מופע INodeIterator
  4. בדוק אם יש מסנן סגנון
  5. קרא את ערך הצומת במחרוזת
  6. כתוב תוכן טקסט של HTML כקובץ TXT

הקוד שלהלן מראה כיצד להמיר HTML לקובץ טקסט פשוט באמצעות C#:

String content = File.ReadAllText(dataDir + "Test2.html");

// צור מופע של מסמך HTML
using (var document = new HTMLDocument(content, ""))
{
    // הדרך הראשונה לאיסוף רכיבי טקסט ממסמך
    // אתחול המופע של איטרטור הצומת
    Aspose.Html.Dom.Traversal.INodeIterator iterator = document.CreateNodeIterator(document, Aspose.Html.Dom.Traversal.Filters.NodeFilter.SHOW_TEXT, new StyleFilter());
    StringBuilder sb = new StringBuilder();
    Aspose.Html.Dom.Node node;
    while ((node = iterator.NextNode()) != null)
        sb.Append(node.NodeValue);
    Console.WriteLine(sb.ToString());

    File.WriteAllText(@"NodeIterator.txt", sb.ToString());
}


///<summary>
/// מייצג מסנן משתמש שנוצר על מנת להתעלם מהתוכן של האלמנט 'סגנון' ו-'script'.
///</summary>
class StyleFilter : Aspose.Html.Dom.Traversal.Filters.NodeFilter
{
    public override short AcceptNode(Aspose.Html.Dom.Node n)
    {
        //אם ברצונך להימנע מכל רכיב, כתוב את שמו באותיות גדולות
        return (n.ParentElement.TagName == "STYLE" || n.ParentElement.TagName == "SCRIPT" ? FILTER_REJECT : FILTER_ACCEPT);
    }
}

חלץ טקסט מ-HTML עם גישות שונות באמצעות C#

למדנו כיצד להמיר HTML לטקסט באמצעות INodeIterator. כמו כן, ישנן מספר גישות אחרות להשגת הדרישות הללו. אתה יכול ליצור שיטה מותאמת אישית לחילוץ טקסט, או לעבוד עם מאפיין TextContent כפי שמוסבר בשלבים הבאים:

  1. טען מסמך HTML קלט
  2. הגדר שיטה מוגדרת על ידי המשתמש
  3. בדוק כל NodeType כדי לראות אם זה צומת אלמנט או צומת טקסט
  4. קבל רכיבי טקסט באמצעות מאפיין TextContent
  5. שמור קובץ TXT פלט

קטע הקוד שלהלן מסביר את שתי הגישות השונות הללו להמרת HTML לטקסט רגיל ב-C#:

String text = "";
String content = File.ReadAllText(dataDir + "Test2.html");
// צור מופע של מסמך HTML
var document = new HTMLDocument(content, "");

// הדרך השנייה לאיסוף רכיבי טקסט ממסמך באמצעות שיטה מותאמת אישית
text = GetContent(document.Body);

File.WriteAllText("Test.txt", text);

// הדרך השלישית לאיסוף רכיבי טקסט ממסמך באמצעות מאפיין TextContent
text = document.Body.TextContent;

File.WriteAllText("Test.txt", text);



static string GetContent(Aspose.Html.Dom.Node node)
{
    StringBuilder sb = new StringBuilder();
    foreach (var n in node.ChildNodes)
    {
        if (n.NodeType == Aspose.Html.Dom.Node.ELEMENT_NODE)
            sb.Append(GetContent(n));
        else if (n.NodeType == Aspose.Html.Dom.Node.TEXT_NODE)
            sb.Append(n.NodeValue);
    }
    return sb.ToString();
}

המרת HTML של דף אינטרנט של כתובת אתר לטקסט באמצעות C#

כבר כיסינו את המרת HTML לטקסט של דף האינטרנט הלא מקוון שבו קובץ ה-HTML נדרש להתקיים על ידי הורדתו בדיסק. תן לנו להתקדם עוד צעד קדימה שבו אתה אפילו לא צריך לשמור את קובץ ה-HTML בדיסק. אתה יכול להמיר דף אינטרנט ישירות על ידי ציון כתובת האתר שלו, לקובץ TXT באמצעות C#. לדוגמה, הבה נמיר את דף המוצר של Aspose.HTML עבור .NET API לקובץ TXT עם השלבים הבאים:

  1. אתחול האובייקט HTMLDocument וציין את כתובת האתר
  2. קרא את תוכן הטקסט של פורמט HTML
  3. כתוב את קובץ ה-TXT עם טקסט שחולץ מדף האינטרנט

הקוד שלהלן מראה כיצד להמיר HTML של דף אינטרנט של כתובת אתר לטקסט באמצעות C#:

// אתחול אובייקט HTMLDocument עם כתובת URL
HTMLDocument document = new HTMLDocument("https://products.aspose.com/html/net");
            
// קרא את תוכן הטקסט של פורמט HTML
String text = document.Body.TextContent;
            
// כתוב את קובץ ה-TXT עם טקסט שחולץ
File.WriteAllText("Webpage.txt", text);

סיכום

במאמר זה, דנו כיצד להמיר קבצי HTML לטקסט רגיל, לחלץ טקסט מ-HTML, כמו גם כתובת אתר מקוונת של דף אינטרנט לפורמט קובץ TXT באמצעות C#. אתה יכול להשתמש בגישות שונות ואתה מוזמן ליצור איתנו קשר דרך פורום התמיכה החינמית אם אתה זקוק לסיוע נוסף.

ראה גם

טיפ: ייתכן שתתעניין ב[ממיר טקסט ל-GIF] בחינם 2 המאפשר לך ליצור אנימציות מטקסטים.