Twórz, czytaj i edytuj pliki HTML w języku C#

Jeśli jesteś programistą języka C# i szukasz wydajnego sposobu pracy z plikami HTML, ten artykuł jest dla Ciebie. Wyjaśnimy podstawy działania języka C# z plikami HTML, od tworzenia ich od podstaw po czytanie i edytowanie istniejących dokumentów. W tym artykule dowiemy się, jak tworzyć, czytać i edytować pliki HTML w języku C#.

HTML (Hyper Text Markup Language) to język używany do tworzenia stron internetowych i stron internetowych. Z drugiej strony C# jest zorientowanym obiektowo językiem programowania używanym do tworzenia aplikacji. Plik HTML zawiera znaczniki znaczników używane do formatowania struktury strony internetowej do wyświetlania w przeglądarkach. Możemy łatwo programowo manipulować plikami HTML w aplikacjach .NET. W tym artykule przyjrzymy się, jak używać języka C# do odczytywania, pisania i edytowania plików HTML. Przyjrzymy się sposobom analizowania kodu HTML dla określonych elementów i tworzenia nowych elementów od podstaw lub edytowania istniejących. Zaczynajmy!

W tym artykule zostaną omówione następujące tematy:

  1. C# API do tworzenia, odczytywania i edytowania plików HTML
  2. Utwórz plik HTML
  3. Odczytaj plik HTML
  4. Edytuj plik HTML
  5. Dodaj surową zawartość HTML w C#

Interfejs API języka C# do tworzenia, odczytywania i edytowania plików HTML

Do tworzenia, odczytywania i edytowania plików HTML będziemy używać API Aspose.HTML for .NET. Jest to zaawansowany interfejs API przetwarzania HTML, który umożliwia tworzenie, modyfikowanie i wyodrębnianie danych z dokumentów HTML. Umożliwia także konwertowanie i renderowanie dokumentów HTML bez zewnętrznego oprogramowania.

Klasa HTMLDocument API reprezentuje dokument HTML lub stronę HTML, którą widzimy w przeglądarce. Metoda CreateElement() tej klasy tworzy element HTML określony przez tagName. Metoda CreateTextNode(string) tworzy węzeł tekstowy na podstawie podanego ciągu znaków. Metoda AppendChild() interfejsu Node dodaje węzeł na końcu listy dzieci określonego węzła nadrzędnego. Metoda Save() zapisuje plik wyjściowy. Możesz także przeczytać więcej o DOM namespace w dokumentacji.

Proszę pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.

PM> Install-Package Aspose.Html

Utwórz plik HTML w C#

Możemy łatwo utworzyć plik HTML, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy HTMLDocument.
  2. Następnie wywołaj metodę CreateElement() w celu utworzenia elementów, takich jak nagłówek, akapit, tekst itp.
  3. Następnie wywołaj metodę CreateTextNode(), aby dodać węzeł tekstowy.
  4. Następnie dołącz utworzony węzeł do elementu za pomocą metody AppendChild().
  5. Następnie dołącz elementy do treści dokumentu za pomocą metody HTMLDocument.Body.AppendChild().
  6. Powtórz powyższe kroki, aby dodać więcej elementów.
  7. Na koniec zapisz dokument HTML za pomocą metody Save(). Przyjmuje ścieżkę pliku wyjściowego jako argument.

Poniższy przykładowy kod pokazuje, jak utworzyć plik HTML przy użyciu języka C#.

// Ten przykład kodu pokazuje, jak utworzyć dokument HTML.

// Utwórz pusty dokument HTML
var document = new HTMLDocument();

// Dodaj nagłówek
// 1. Utwórz element nagłówka
var h2 = (HTMLHeadingElement)document.CreateElement("h2");

// 2. Utwórz element tekstowy
var text = document.CreateTextNode("This is Sample Heading!");

// 3. dodaj element tekstowy do nagłówka
h2.AppendChild(text);

// 4. Dodaj nagłówek to the document
document.Body.AppendChild(h2);

// Dodaj ust
// 1. Utwórz element akapitu
var p = (HTMLParagraphElement)document.CreateElement("p");

// 2. Ustaw atrybut niestandardowy
p.SetAttribute("id", "first-paragraph");

// 3. Utwórz węzeł tekstowy
var paraText = document.CreateTextNode("This is first paragraph. ");

// 4. Dodaj tekst do akapitu
p.AppendChild(paraText);

// 5. Dołącz akapit do treści dokumentu 
document.Body.AppendChild(p);

// Dodaj uporządkowaną listę
// Utwórz element akapitu
var list = (HTMLOListElement)document.CreateElement("ol");

// Dodaj pozycję Li 1
var item1 = (HTMLLIElement)document.CreateElement("li");
item1.AppendChild(document.CreateTextNode("First list item."));

// Dodaj pozycję Li 2
var item2 = (HTMLLIElement)document.CreateElement("li");
item2.AppendChild(document.CreateTextNode("Second list item."));

// Dodaj elementy li do listy
list.AppendChild(item1);
list.AppendChild(item2);

// Dołącz listę do treści dokumentu 
document.Body.AppendChild(list);

// Zapisz dokument HTML do pliku 
document.Save(@"C:\Files\html\create-new-document.html");
Utwórz-plik-HTML-w-CSharp

Utwórz plik HTML w C#

Przeczytaj plik HTML w C#

W poprzedniej sekcji utworzyliśmy plik HTML. Teraz załadujemy plik i odczytamy jego zawartość, wykonując czynności podane poniżej:

  1. Załaduj istniejący plik HTML przy użyciu klasy HTMLDocument.
  2. Przeczytaj i pokaż zawartość HTMLDocument.DocumentElement.OuterHTML.

Poniższy przykładowy kod pokazuje, jak odczytać plik HTML przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak odczytać plik HTML
// Przygotuj ścieżkę wyjściową do zapisania dokumentu
string documentPath = @"C:\Files\html\create-new-document.html";

// Załaduj plik HTML
var document = new HTMLDocument(documentPath);

// Zapisz zawartość dokumentu do strumienia wyjściowego
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>

Edytuj plik HTML w C#

Możemy również aktualizować zawartość plików HTML. Możemy dodać więcej węzłów/elementów, wykonując powyższe kroki. Możemy jednak zmodyfikować istniejące notatki/elementy, wykonując poniższe czynności:

  1. Załaduj istniejący plik HTML przy użyciu klasy HTMLDocument.
  2. Następnie wywołaj metodę CreateTextNode(), aby dodać węzeł tekstowy.
  3. Następnie pobierz pierwszy element akapitu za pomocą metody GetElementsByTagName(). Przyjmuje „p” jako argument.
  4. Następnie wywołaj metodę AppendChild() w celu dołączenia węzła tekstowego.
  5. Powtórz powyższe kroki, aby zmodyfikować więcej elementów.
  6. Na koniec zapisz dokument HTML za pomocą metody Save(). Przyjmuje ścieżkę pliku wyjściowego jako argument.

Poniższy przykładowy kod pokazuje, jak zmodyfikować plik HTML przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak edytować zawartość pliku HTML.
// Przygotuj ścieżkę wyjściową do zapisania dokumentu
string documentPath = @"C:\Files\html\create-new-document.html";

// Utwórz instancję dokumentu HTML
var document = new HTMLDocument(documentPath);

// Utwórz węzeł tekstowy
var oldParaText = document.CreateTextNode("This is old first paragraph.");

// Pobierz element pierwszego akapitu
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.AppendChild(oldParaText);

// Zapisz dokument HTML do pliku 
document.Save(@"C:\Files\html\modify.html");
Edytuj-plik-HTML-w-CSharp

Edytuj plik HTML w C#

Poniższy przykładowy kod przedstawia bardziej złożony przykład, w którym dodajemy nowe elementy i modyfikujemy istniejące.

// Ten przykład kodu demonstruje, jak i edytować elementy w esitingu pliku HTML.
// Przygotuj ścieżkę wyjściową do zapisania dokumentu
string documentPath = @"C:\Files\html\create-new-document.html";

// Utwórz instancję dokumentu HTML
var document = new HTMLDocument(documentPath);

// Utwórz element stylu i przypisz zielony kolor wszystkim elementom o nazwie klasy równej „gr”.
var style = document.CreateElement("style");
style.TextContent = ".rd { color: red }";

// Znajdź element nagłówka dokumentu i dołącz element stylu do nagłówka
var head = document.GetElementsByTagName("head").First();
head.AppendChild(style);

// Utwórz węzeł tekstowy
var oldParaText = document.CreateTextNode("This is old first paragraph.");

// Utwórz element akapitu o nazwie klasy „gr”.
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.ClassName = "rd";
p.AppendChild(oldParaText);

// Utwórz element akapitu
var newPara = (HTMLParagraphElement)document.CreateElement("p");

// Utwórz węzeł tekstowy
var paraText = document.CreateTextNode("This is second paragraph. ");

// Dodaj tekst do akapitu
newPara.AppendChild(paraText);

// Dołącz akapit do treści dokumentu 
document.Body.AppendChild(newPara);

// Zapisz dokument HTML do pliku 
document.Save(@"C:\Files\html\edit.html");
Dodaj-edytuj-elementy-w-pliku-HTML-za pomocą-CSharp

Dodawaj i edytuj elementy w pliku HTML za pomocą języka C#

Dodaj surową zawartość HTML w C#

Możemy dodawać lub edytować elementy, ręcznie dodając kod HTML jako treść przy użyciu właściwości InnerHTML elementu. Możemy dodać surowy HTML, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy HTMLDocument.
  2. Następnie ustaw zawartość elementu Body.InnerHTML jako nieprzetworzony ciąg znaków HTML.
  3. Na koniec zapisz dokument HTML za pomocą metody Save(). Przyjmuje ścieżkę pliku wyjściowego jako argument.

Poniższy przykładowy kod pokazuje, jak dodać nieprzetworzoną zawartość HTML do pliku przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak dodać nieprzetworzony kod HTML do treści HTML.
// Utwórz instancję dokumentu HTML
using (var document = new HTMLDocument())
{
    // Wpisz zawartość dokumentu HTML do wyjścia konsoli
    Console.WriteLine(document.DocumentElement.OuterHTML); 

    // Ustaw zawartość elementu body
    document.Body.InnerHTML = "<p>HTML is the standard markup language for Web pages.</p>";

    /// Zapisz dokument HTML do pliku 
    document.Save(@"C:\Files\html\using-innerHTML.html");
}
Dodaj Raw-HTML-Content-in-CSharp

Dodaj surowy HTML do pliku HTML za pomocą C#

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować Aspose.HTML for .NET bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak:

  • programowo tworzyć dokumenty HTML;
  • załadować istniejący dokument HTML z lokalnej ścieżki dysku;
  • odczytać kod HTML z załadowanego pliku;
  • dodać nową treść do istniejącego pliku HTML;
  • zmodyfikować istniejącą zawartość w języku C#.

Poza tworzeniem, odczytywaniem i edytowaniem plików HTML w C#, możesz dowiedzieć się więcej o Aspose.HTML for .NET API korzystając z documentation. W przypadku jakichkolwiek niejasności prosimy o kontakt na naszym darmowym forum pomocy.

Zobacz też