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:
- C# API för att skapa, läsa och redigera HTML-filer
- Skapa en HTML-fil
- Läs en HTML-fil
- Redigera en HTML-fil
- 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:
- Skapa först en instans av HTMLDocument-klassen.
- Anropa sedan CreateElement()-metoden för att skapa element som rubrik, stycke, text, etc.
- Anropa sedan CreateTextNode()-metoden för att lägga till textnoden.
- Lägg sedan till den skapade noden till elementet med metoden AppendChild().
- Därefter bifogar du element till dokumentets brödtext med metoden HTMLDocument.Body.AppendChild().
- Upprepa stegen ovan för att lägga till fler element.
- 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");
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:
- Ladda en befintlig HTML-fil med HTMLDocument-klassen.
- 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:
- Ladda en befintlig HTML-fil med HTMLDocument-klassen.
- Anropa sedan CreateTextNode()-metoden för att lägga till textnoden.
- Hämta sedan elementet första stycket med metoden GetElementsByTagName(). Det tar “p” som ett argument.
- Därefter anropar du metoden AppendChild() för att lägga till textnoden.
- Upprepa stegen ovan för att ändra fler element.
- 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");
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");
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:
- Skapa först en instans av HTMLDocument-klassen.
- Ange sedan innehållet i Body.InnerHTML-elementet som rå HTML-sträng.
- 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");
}
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.