Créer, lire et modifier des fichiers HTML en C#

Si vous êtes un programmeur C# à la recherche d’un moyen efficace de travailler avec des fichiers HTML, cet article est pour vous. Nous expliquerons les bases du fonctionnement de C# avec les fichiers HTML, de leur création à partir de rien à la lecture et à la modification de documents existants. Dans cet article, nous allons apprendre à créer, lire et modifier des fichiers HTML en C#.

HTML (Hyper Text Markup Language) est un langage utilisé pour créer des sites Web et des pages Web. C#, d’autre part, est un langage de programmation orienté objet utilisé pour créer des applications. Un fichier HTML contient des balises de balisage utilisées pour formater la structure d’une page Web à afficher dans les navigateurs. Nous pouvons facilement manipuler les fichiers HTML par programmation dans les applications .NET. Dans cet article, nous allons explorer comment utiliser C# pour lire, écrire et modifier des fichiers HTML. Nous examinerons les moyens d’analyser le code HTML pour des éléments spécifiques et de créer de nouveaux éléments à partir de rien ou de modifier ceux qui existent déjà. Commençons!

Les sujets suivants seront traités dans cet article :

  1. API C# pour créer, lire et modifier des fichiers HTML
  2. Créer un fichier HTML
  3. Lire un fichier HTML
  4. Modifier un fichier HTML
  5. Ajouter du contenu HTML brut en C#

API C# pour créer, lire et modifier des fichiers HTML

Pour créer, lire et modifier des fichiers HTML, nous utiliserons l’API Aspose.HTML for .NET. Il s’agit d’une API de traitement HTML avancée qui permet la création, la modification et l’extraction de données à partir de documents HTML. Il permet également de convertir et de rendre des documents HTML sans aucun logiciel externe.

La classe HTMLDocument de l’API représente un document HTML ou la page HTML que nous voyons dans le navigateur. La méthode CreateElement() de cette classe crée l’élément HTML spécifié par tagName. La méthode CreateTextNode(string) crée un nœud Text en fonction de la chaîne spécifiée. La méthode AppendChild() de l’interface Node ajoute un nœud à la fin de la liste des enfants d’un nœud parent spécifié. La méthode Save() enregistre le fichier de sortie. Vous pouvez également en savoir plus sur DOM namespace dans la documentation.

Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Html

Créer un fichier HTML en C#

Nous pouvons facilement créer un fichier HTML en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe HTMLDocument.
  2. Ensuite, appelez la méthode CreateElement() pour créer des éléments tels que titre, paragraphe, texte, etc.
  3. Ensuite, appelez la méthode CreateTextNode() pour ajouter le nœud de texte.
  4. Ensuite, ajoutez le nœud créé à l’élément à l’aide de la méthode AppendChild().
  5. Ensuite, attachez des éléments au corps du document à l’aide de la méthode HTMLDocument.Body.AppendChild().
  6. Répétez les étapes ci-dessus pour ajouter d’autres éléments.
  7. Enfin, enregistrez le document HTML à l’aide de la méthode Save(). Il prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment créer un fichier HTML à l’aide de C#.

// Cet exemple de code montre comment créer un document HTML.

// Créer un document HTML vide
var document = new HTMLDocument();

// Ajouter un titre
// 1. Créer un élément de titre
var h2 = (HTMLHeadingElement)document.CreateElement("h2");

// 2. Créer un élément de texte
var text = document.CreateTextNode("This is Sample Heading!");

// 3. ajouter un élément de texte au titre
h2.AppendChild(text);

// 4. Ajouter un titre to the document
document.Body.AppendChild(h2);

// Ajouter un paragraphe
// 1. Créer un élément de paragraphe
var p = (HTMLParagraphElement)document.CreateElement("p");

// 2. Définir un attribut personnalisé
p.SetAttribute("id", "first-paragraph");

// 3. Créer un nœud de texte
var paraText = document.CreateTextNode("This is first paragraph. ");

// 4. Ajoutez le texte au paragraphe
p.AppendChild(paraText);

// 5. Joindre un paragraphe au corps du document 
document.Body.AppendChild(p);

// Ajouter une liste ordonnée
// Créer un élément de paragraphe
var list = (HTMLOListElement)document.CreateElement("ol");

// Ajouter l'élément 1
var item1 = (HTMLLIElement)document.CreateElement("li");
item1.AppendChild(document.CreateTextNode("First list item."));

// Ajouter l'élément 2
var item2 = (HTMLLIElement)document.CreateElement("li");
item2.AppendChild(document.CreateTextNode("Second list item."));

// Ajouter des éléments li à la liste
list.AppendChild(item1);
list.AppendChild(item2);

// Joindre la liste au corps du document 
document.Body.AppendChild(list);

// Enregistrer le document HTML dans un fichier 
document.Save(@"C:\Files\html\create-new-document.html");
Créer-un-fichier-HTML-dans-CSharp

Créer un fichier HTML en C#

Lire un fichier HTML en C#

Dans la section précédente, nous avons créé un fichier HTML. Maintenant, nous allons charger le fichier et lire son contenu en suivant les étapes ci-dessous :

  1. Chargez un fichier HTML existant à l’aide de la classe HTMLDocument.
  2. Lisez et affichez le contenu de HTMLDocument.DocumentElement.OuterHTML.

L’exemple de code suivant montre comment lire un fichier HTML à l’aide de C#.

// Cet exemple de code montre comment lire un fichier HTML
// Préparer un chemin de sortie pour l'enregistrement d'un document
string documentPath = @"C:\Files\html\create-new-document.html";

// Charger un fichier HTML
var document = new HTMLDocument(documentPath);

// Écrire le contenu du document dans le flux de sortie
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>

Modifier un fichier HTML en C#

Nous pouvons également mettre à jour le contenu des fichiers HTML. Nous pouvons ajouter plus de nœuds/éléments en suivant les étapes mentionnées ci-dessus. Cependant, nous pouvons modifier les notes/éléments existants en suivant les étapes ci-dessous :

  1. Chargez un fichier HTML existant à l’aide de la classe HTMLDocument.
  2. Ensuite, appelez la méthode CreateTextNode() pour ajouter le nœud de texte.
  3. Ensuite, récupérez le premier élément de paragraphe à l’aide de la méthode GetElementsByTagName(). Il prend “p” comme argument.
  4. Après cela, appelez la méthode AppendChild() pour ajouter le nœud de texte.
  5. Répétez les étapes ci-dessus pour modifier d’autres éléments.
  6. Enfin, enregistrez le document HTML à l’aide de la méthode Save(). Il prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment modifier un fichier HTML à l’aide de C#.

// Cet exemple de code montre comment modifier le contenu sortant d'un fichier HTML.
// Préparer un chemin de sortie pour l'enregistrement d'un document
string documentPath = @"C:\Files\html\create-new-document.html";

// Créer une instance d'un document HTML
var document = new HTMLDocument(documentPath);

// Créer un nœud de texte
var oldParaText = document.CreateTextNode("This is old first paragraph.");

// Obtenir l'élément du premier paragraphe
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.AppendChild(oldParaText);

// Enregistrer le document HTML dans un fichier 
document.Save(@"C:\Files\html\modify.html");
Modifier-un-fichier-HTML-dans-CSharp

Modifier un fichier HTML en C#

L’exemple de code suivant montre un exemple plus complexe dans lequel nous ajoutons de nouveaux éléments et modifions ceux qui existent déjà.

// Cet exemple de code montre comment modifier et modifier des éléments dans un fichier HTML sortant.
// Préparer un chemin de sortie pour l'enregistrement d'un document
string documentPath = @"C:\Files\html\create-new-document.html";

// Créer une instance d'un document HTML
var document = new HTMLDocument(documentPath);

// Créez un élément de style et attribuez la couleur verte à tous les éléments dont le nom de classe est égal à 'gr'.
var style = document.CreateElement("style");
style.TextContent = ".rd { color: red }";

// Trouvez l'élément d'en-tête du document et ajoutez l'élément de style à l'en-tête
var head = document.GetElementsByTagName("head").First();
head.AppendChild(style);

// Créer un nœud de texte
var oldParaText = document.CreateTextNode("This is old first paragraph.");

// Créez un élément de paragraphe avec le nom de classe 'gr'.
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.ClassName = "rd";
p.AppendChild(oldParaText);

// Créer un élément de paragraphe
var newPara = (HTMLParagraphElement)document.CreateElement("p");

// Créer un nœud de texte
var paraText = document.CreateTextNode("This is second paragraph. ");

// Ajouter le texte au paragraphe
newPara.AppendChild(paraText);

// Joindre un paragraphe au corps du document 
document.Body.AppendChild(newPara);

// Enregistrer le document HTML dans un fichier 
document.Save(@"C:\Files\html\edit.html");
Ajouter-Modifier-Elements-in-HTML-File-using-CSharp

Ajouter et modifier des éléments dans un fichier HTML à l’aide de C#

Ajouter du contenu HTML brut en C#

Nous pouvons ajouter ou modifier des éléments en ajoutant manuellement du code HTML en tant que contenu à l’aide de la propriété InnerHTML d’un élément. Nous pouvons ajouter du HTML brut en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe HTMLDocument.
  2. Ensuite, définissez le contenu de l’élément Body.InnerHTML en tant que chaîne HTML brute.
  3. Enfin, enregistrez le document HTML à l’aide de la méthode Save(). Il prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment ajouter du contenu HTML brut au fichier à l’aide de C#.

// Cet exemple de code montre comment ajouter du code HTML brut au corps HTML.
// Créer une instance d'un document HTML
using (var document = new HTMLDocument())
{
    // Écrivez le contenu du document HTML dans la sortie de la console
    Console.WriteLine(document.DocumentElement.OuterHTML); 

    // Définir le contenu de l'élément body
    document.Body.InnerHTML = "<p>HTML is the standard markup language for Web pages.</p>";

    /// Enregistrer le document HTML dans un fichier 
    document.Save(@"C:\Files\html\using-innerHTML.html");
}
Ajouter-Raw-HTML-Content-in-CSharp

Ajouter du HTML brut dans un fichier HTML à l’aide de C#

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer Aspose.HTML for .NET sans limitations d’évaluation.

Conclusion

Dans cet article, nous avons appris à :

  • créer des documents HTML par programmation ;
  • charger un document HTML existant à partir du chemin du disque local ;
  • lire le HTML du fichier chargé ;
  • ajouter un nouveau contenu au fichier HTML existant ;
  • modifier le contenu existant en C#.

Outre la création, la lecture et la modification de fichiers HTML en C#, vous pouvez en savoir plus sur Aspose.HTML for .NET API à l’aide de documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également