Skapa, läs och redigera HTML-filer i C#

Om du är en C#-programmerare som letar efter ett effektivt sätt att arbeta med HTML-filer, då är den här artikeln för dig. Vi kommer att förklara grunderna för hur C# fungerar med HTML-filer, från att skapa dem från början till att läsa och redigera befintliga dokument. I den här artikeln kommer vi att lära oss hur du skapar, läser och redigerar HTML-filer i C#.

HTML(Hyper Text Markup Language) är ett språk som används för att skapa webbplatser och webbsidor. C#, å andra sidan, är ett objektorienterat programmeringsspråk som används för att bygga applikationer. En HTML-fil innehåller uppmärkningstaggar som används för att formatera strukturen på en webbsida för visning i webbläsare. Vi kan enkelt manipulera HTML-filer programmatiskt i .NET-applikationer. I den här artikeln kommer vi att utforska hur man använder C# för att läsa, skriva och redigera HTML-filer. Vi ska titta på sätt att analysera HTML-kod för specifika element och skapa nya element från grunden eller redigera befintliga. Låt oss börja!

Följande ämnen ska behandlas i den här artikeln:

  1. C# API för att skapa, läsa och redigera HTML-filer
  2. Skapa en HTML-fil
  3. Läs en HTML-fil
  4. Redigera en HTML-fil
  5. Lägg till rå HTML-innehåll i C#

C# API för att skapa, läsa och redigera HTML-filer

För att skapa, läsa och redigera HTML-filer kommer vi att använda Aspose.HTML for .NET API. Det är ett avancerat HTML-bearbetnings-API som gör det möjligt att skapa, modifiera och extrahera data från HTML-dokument. Det tillåter också att konvertera och rendera HTML-dokument utan någon extern programvara.

Klassen HTMLDocument i API:t representerar ett HTML-dokument eller HTML-sidan som vi ser i webbläsaren. Metoden CreateElement() för den här klassen skapar HTML-elementet som anges av tagName. Metoden CreateTextNode(string) skapar en textnod med den angivna strängen. Metoden AppendChild() i Node-gränssnittet lägger till en nod i slutet av listan över underordnade till en specificerad överordnad nod. Metoden Save() sparar utdatafilen. Du kan också läsa mer om DOM namespace i dokumentationen.

Vänligen antingen ladda ned DLL för API:t eller installera den med NuGet.

PM> Install-Package Aspose.Html

Info: Andra Aspose API:er, särskilt Aspose.Slides for .NET, kan också tillåta dig att [redigera HTMLs](https://products.aspose. com/slides/net/editor/html/), sammanfoga HTML filer, konvertera [HTML till JPG](https ://products.aspose.com/slides/net/conversion/html-to-jpg/), PDF , XML, [TIFF](https://products.aspose.com/slides/net/conversion/html -to-tiff/), och andra.

Skapa en HTML-fil i C#

Vi kan enkelt skapa en HTML-fil genom att följa stegen nedan:

  1. Skapa först en instans av HTMLDocument-klassen.
  2. Anropa sedan CreateElement()-metoden för att skapa element som rubrik, stycke, text, etc.
  3. Anropa sedan CreateTextNode()-metoden för att lägga till textnoden.
  4. Lägg sedan till den skapade noden till elementet med metoden AppendChild().
  5. Därefter bifogar du element till dokumentets brödtext med metoden HTMLDocument.Body.AppendChild().
  6. Upprepa stegen ovan för att lägga till fler element.
  7. Slutligen, spara HTML-dokumentet med hjälp av metoden Save(). Den tar utdatafilens sökväg som ett argument.

Följande kodexempel visar hur man skapar en HTML-fil med C#.

// Detta kodexempel visar hur man skapar ett HTML-dokument.

// Skapa ett tomt HTML-dokument
var document = new HTMLDocument();

// Lägg till rubrik
// 1. Skapa ett rubrikelement
var h2 = (HTMLHeadingElement)document.CreateElement("h2");

// 2. Skapa ett textelement
var text = document.CreateTextNode("This is Sample Heading!");

// 3. lägg till textelement i rubriken
h2.AppendChild(text);

// 4. Lägg till rubrik to the document
document.Body.AppendChild(h2);

// Lägg till stycke
// 1. Skapa ett styckeelement
var p = (HTMLParagraphElement)document.CreateElement("p");

// 2. Ställ in ett anpassat attribut
p.SetAttribute("id", "first-paragraph");

// 3. Skapa en textnod
var paraText = document.CreateTextNode("This is first paragraph. ");

// 4. Lägg till texten i stycket
p.AppendChild(paraText);

// 5. Bifoga stycket till dokumentet 
document.Body.AppendChild(p);

// Lägg till beställd lista
// Skapa ett styckeelement
var list = (HTMLOListElement)document.CreateElement("ol");

// Lägg till li objekt 1
var item1 = (HTMLLIElement)document.CreateElement("li");
item1.AppendChild(document.CreateTextNode("First list item."));

// Lägg till punkt 2
var item2 = (HTMLLIElement)document.CreateElement("li");
item2.AppendChild(document.CreateTextNode("Second list item."));

// Lägg till li-objekt till listan
list.AppendChild(item1);
list.AppendChild(item2);

// Bifoga lista till dokumentets brödtext 
document.Body.AppendChild(list);

// Spara HTML-dokumentet till en fil 
document.Save(@"C:\Files\html\create-new-document.html");
Skapa-en-HTML-fil-i-CSharp

Skapa en HTML-fil i C#

Läs en HTML-fil i C#

I föregående avsnitt skapade vi en HTML-fil. Nu kommer vi att ladda filen och läsa dess innehåll genom att följa stegen nedan:

  1. Ladda en befintlig HTML-fil med HTMLDocument-klassen.
  2. Läs och visa innehållet i HTMLDocument.DocumentElement.OuterHTML.

Följande kodexempel visar hur man läser en HTML-fil med C#.

// Detta kodexempel visar hur man läser en HTML-fil
// Förbered en utmatningsbana för att spara ett dokument
string documentPath = @"C:\Files\html\create-new-document.html";

// Ladda en HTML-fil
var document = new HTMLDocument(documentPath);

// Skriv dokumentinnehållet till utdataströmmen
Console.WriteLine(document.DocumentElement.OuterHTML);
<html><head></head><body><h2>This is Sample Heading!</h2><p id="first-paragraph">This is first paragraph. </p><ol><li>First list item.</li><li>Second list item.</li></ol></body></html>

Redigera en HTML-fil i C#

Vi kan också uppdatera innehållet i HTML-filer. Vi kan lägga till fler noder/element genom att följa stegen ovan. Vi kan dock ändra de befintliga anteckningarna/elementen genom att följa stegen nedan:

  1. Ladda en befintlig HTML-fil med HTMLDocument-klassen.
  2. Anropa sedan CreateTextNode()-metoden för att lägga till textnoden.
  3. Hämta sedan elementet första stycket med metoden GetElementsByTagName(). Det tar “p” som ett argument.
  4. Därefter anropar du metoden AppendChild() för att lägga till textnoden.
  5. Upprepa stegen ovan för att ändra fler element.
  6. Slutligen, spara HTML-dokumentet med hjälp av metoden Save(). Den tar utdatafilens sökväg som ett argument.

Följande kodexempel visar hur man ändrar en HTML-fil med C#.

// Detta kodexempel visar hur man redigerar ett ändringsinnehåll i en HTML-fil.
// Förbered en utmatningsbana för att spara ett dokument
string documentPath = @"C:\Files\html\create-new-document.html";

// Skapa en instans av ett HTML-dokument
var document = new HTMLDocument(documentPath);

// Skapa en textnod
var oldParaText = document.CreateTextNode("This is old first paragraph.");

// Få första stycket element
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.AppendChild(oldParaText);

// Spara HTML-dokumentet till en fil 
document.Save(@"C:\Files\html\modify.html");
Redigera-en-HTML-fil-i-CSharp

Redigera en HTML-fil i C#

Följande kodexempel visar ett mer komplext exempel där vi lägger till nya element och modifierar de befintliga.

// Detta kodexempel visar hur man och och redigerar element i en HTML-fil.
// Förbered en utmatningsbana för att spara ett dokument
string documentPath = @"C:\Files\html\create-new-document.html";

// Skapa en instans av ett HTML-dokument
var document = new HTMLDocument(documentPath);

// Skapa ett stilelement och tilldela den gröna färgen för alla element med klassnamn lika med 'gr'.
var style = document.CreateElement("style");
style.TextContent = ".rd { color: red }";

// Hitta dokumenthuvudelementet och lägg till stilelementet i sidhuvudet
var head = document.GetElementsByTagName("head").First();
head.AppendChild(style);

// Skapa en textnod
var oldParaText = document.CreateTextNode("This is old first paragraph.");

// Skapa ett styckeelement med klassnamnet 'gr'.
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.ClassName = "rd";
p.AppendChild(oldParaText);

// Skapa ett styckeelement
var newPara = (HTMLParagraphElement)document.CreateElement("p");

// Skapa en textnod
var paraText = document.CreateTextNode("This is second paragraph. ");

// Lägg till texten i stycket
newPara.AppendChild(paraText);

// Bifoga stycket till dokumentet 
document.Body.AppendChild(newPara);

// Spara HTML-dokumentet till en fil 
document.Save(@"C:\Files\html\edit.html");
Add-Edit-Elements-in-HTML-File-using-CSharp

Lägg till och redigera element i en HTML-fil med C#

Lägg till rå HTML-innehåll i C#

Vi kan lägga till eller redigera element genom att manuellt lägga till HTML-kod som innehåll med hjälp av InnerHTML-egenskapen för ett element. Vi kan lägga till rå HTML genom att följa stegen nedan:

  1. Skapa först en instans av HTMLDocument-klassen.
  2. Ange sedan innehållet i Body.InnerHTML-elementet som rå HTML-sträng.
  3. Slutligen, spara HTML-dokumentet med hjälp av metoden Save(). Den tar utdatafilens sökväg som ett argument.

Följande kodexempel visar hur man lägger till rå HTML-innehåll till filen med C#.

// Det här kodexemplet visar hur man lägger till Raw HTML i HTML-kroppen.
// Skapa en instans av ett HTML-dokument
using (var document = new HTMLDocument())
{
    // Skriv innehållet i HTML-dokumentet i konsolutgången
    Console.WriteLine(document.DocumentElement.OuterHTML); 

    // Ställ in innehållet i kroppselementet
    document.Body.InnerHTML = "<p>HTML is the standard markup language for Web pages.</p>";

    /// Spara HTML-dokumentet till en fil 
    document.Save(@"C:\Files\html\using-innerHTML.html");
}
Lägg till-Raw-HTML-Content-in-CSharp

Lägg till rå HTML i en HTML-fil med C#

Få gratis licens

Du kan skaffa en gratis tillfällig licens för att prova Aspose.HTML för .NET utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har vi lärt oss hur man:

  • skapa HTML-dokument programmatiskt;
  • ladda ett befintligt HTML-dokument från den lokala disksökvägen;
  • läs HTML från den laddade filen;
  • lägg till nytt innehåll till befintlig HTML-fil;
  • ändra befintligt innehåll i C#.

Förutom att skapa, läsa och redigera HTML-filer i C# kan du lära dig mer om Aspose.HTML för .NET API med dokumentation. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.

Se även