Se você é um programador C# procurando uma maneira eficiente de trabalhar com arquivos HTML, este artigo é para você. Explicaremos o básico de como o C# funciona com arquivos HTML, desde a criação do zero até a leitura e edição de documentos existentes. Neste artigo, aprenderemos como criar, ler e editar arquivos HTML em C#.
HTML (Hyper Text Markup Language) é uma linguagem usada para criar sites e páginas da web. C#, por outro lado, é uma linguagem de programação orientada a objetos usada para criar aplicativos. Um arquivo HTML contém tags de marcação usadas para formatar a estrutura de uma página da Web para exibição em navegadores. Podemos facilmente manipular arquivos HTML programaticamente em aplicativos .NET. Neste artigo, exploraremos como usar C# para ler, gravar e editar arquivos HTML. Veremos maneiras de analisar o código HTML para elementos específicos e criar novos elementos do zero ou editar os existentes. Vamos começar!
Os seguintes tópicos serão abordados neste artigo:
- API C# para criar, ler e editar arquivos HTML
- Criar um arquivo HTML
- Leia um arquivo HTML
- Editar um arquivo HTML
- Adicionar conteúdo HTML bruto em C#
API C# para criar, ler e editar arquivos HTML
Para criar, ler e editar arquivos HTML, usaremos a API Aspose.HTML for .NET. É uma API avançada de processamento de HTML que permite a criação, modificação e extração de dados de documentos HTML. Também permite converter e renderizar documentos HTML sem nenhum software externo.
A classe HTMLDocument da API representa um documento HTML ou a página HTML que vemos no navegador. O método CreateElement() desta classe cria o elemento HTML especificado por tagName. O método CreateTextNode(string) cria um nó Text dado a string especificada. O método AppendChild() da interface Node adiciona um nó ao final da lista de filhos de um nó pai especificado. O método Save() salva o arquivo de saída. Você também pode ler mais sobre DOM namespace na documentação.
Por favor baixe a DLL da API ou instale-a usando NuGet.
PM> Install-Package Aspose.Html
Criar um arquivo HTML em C#
Podemos criar facilmente um arquivo HTML seguindo as etapas abaixo:
- Em primeiro lugar, crie uma instância da classe HTMLDocument.
- Em seguida, chame o método CreateElement() para criar elementos como título, parágrafo, texto, etc.
- Em seguida, chame o método CreateTextNode() para adicionar o nó de texto.
- Em seguida, anexe o nó criado ao elemento usando o método AppendChild().
- Depois disso, anexe os elementos ao corpo do documento usando o método HTMLDocument.Body.AppendChild().
- Repita as etapas acima para adicionar mais elementos.
- Finalmente, salve o documento HTML usando o método Save(). Ele usa o caminho do arquivo de saída como um argumento.
O exemplo de código a seguir mostra como criar um arquivo HTML usando C#.
// Este exemplo de código demonstra como criar um documento HTML.
// Crie um documento HTML vazio
var document = new HTMLDocument();
// Adicionar título
// 1. Crie um elemento de título
var h2 = (HTMLHeadingElement)document.CreateElement("h2");
// 2. Crie um elemento de texto
var text = document.CreateTextNode("This is Sample Heading!");
// 3. adicione elemento de texto ao título
h2.AppendChild(text);
// 4. Adicionar título to the document
document.Body.AppendChild(h2);
// Adicionar parágrafo
// 1. Crie um elemento de parágrafo
var p = (HTMLParagraphElement)document.CreateElement("p");
// 2. Defina um atributo personalizado
p.SetAttribute("id", "first-paragraph");
// 3. Crie um nó de texto
var paraText = document.CreateTextNode("This is first paragraph. ");
// 4. Adicione o texto ao parágrafo
p.AppendChild(paraText);
// 5. Anexe o parágrafo ao corpo do documento
document.Body.AppendChild(p);
// Adicionar Lista Ordenada
// Criar um elemento de parágrafo
var list = (HTMLOListElement)document.CreateElement("ol");
// Adicionar li item 1
var item1 = (HTMLLIElement)document.CreateElement("li");
item1.AppendChild(document.CreateTextNode("First list item."));
// Adicionar li item 2
var item2 = (HTMLLIElement)document.CreateElement("li");
item2.AppendChild(document.CreateTextNode("Second list item."));
// Adicionar itens li à lista
list.AppendChild(item1);
list.AppendChild(item2);
// Anexar lista ao corpo do documento
document.Body.AppendChild(list);
// Salve o documento HTML em um arquivo
document.Save(@"C:\Files\html\create-new-document.html");
Ler um arquivo HTML em C#
Na seção anterior, criamos um arquivo HTML. Agora, vamos carregar o arquivo e ler seu conteúdo seguindo os passos abaixo:
- Carregue um arquivo HTML existente usando a classe HTMLDocument.
- Leia e mostre o conteúdo do HTMLDocument.DocumentElement.OuterHTML.
O exemplo de código a seguir mostra como ler um arquivo HTML usando C#.
// Este exemplo de código demonstra como ler um arquivo HTML
// Prepare um caminho de saída para salvar um documento
string documentPath = @"C:\Files\html\create-new-document.html";
// Carregar um arquivo HTML
var document = new HTMLDocument(documentPath);
// Grave o conteúdo do documento no fluxo de saída
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>
Editar um arquivo HTML em C#
Também podemos atualizar o conteúdo dos arquivos HTML. Podemos adicionar mais nós/elementos seguindo as etapas mencionadas acima. No entanto, podemos modificar as notas/elementos existentes seguindo as etapas abaixo:
- Carregue um arquivo HTML existente usando a classe HTMLDocument.
- Em seguida, chame o método CreateTextNode() para adicionar o nó de texto.
- Em seguida, obtenha o primeiro elemento de parágrafo usando o método GetElementsByTagName(). Leva “p” como argumento.
- Depois disso, chame o método AppendChild() para anexar o nó de texto.
- Repita as etapas acima para modificar mais elementos.
- Finalmente, salve o documento HTML usando o método Save(). Ele usa o caminho do arquivo de saída como um argumento.
O exemplo de código a seguir mostra como modificar um arquivo HTML usando C#.
// Este exemplo de código demonstra como editar um conteúdo existente de um arquivo HTML.
// Prepare um caminho de saída para salvar um documento
string documentPath = @"C:\Files\html\create-new-document.html";
// Criar uma instância de um documento HTML
var document = new HTMLDocument(documentPath);
// Criar um nó de texto
var oldParaText = document.CreateTextNode("This is old first paragraph.");
// Obter elemento do primeiro parágrafo
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.AppendChild(oldParaText);
// Salve o documento HTML em um arquivo
document.Save(@"C:\Files\html\modify.html");
O exemplo de código a seguir mostra um exemplo mais complexo no qual estamos adicionando novos elementos e modificando os existentes.
// Este exemplo de código demonstra como e editar elementos em um arquivo HTML existente.
// Prepare um caminho de saída para salvar um documento
string documentPath = @"C:\Files\html\create-new-document.html";
// Criar uma instância de um documento HTML
var document = new HTMLDocument(documentPath);
// Crie um elemento de estilo e atribua a cor verde para todos os elementos com nome de classe igual a 'gr'.
var style = document.CreateElement("style");
style.TextContent = ".rd { color: red }";
// Encontre o elemento de cabeçalho do documento e anexe o elemento de estilo ao cabeçalho
var head = document.GetElementsByTagName("head").First();
head.AppendChild(style);
// Criar um nó de texto
var oldParaText = document.CreateTextNode("This is old first paragraph.");
// Crie um elemento de parágrafo com o nome de classe 'gr'.
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.ClassName = "rd";
p.AppendChild(oldParaText);
// Criar um elemento de parágrafo
var newPara = (HTMLParagraphElement)document.CreateElement("p");
// Criar um nó de texto
var paraText = document.CreateTextNode("This is second paragraph. ");
// Adicione o texto ao parágrafo
newPara.AppendChild(paraText);
// Anexar parágrafo ao corpo do documento
document.Body.AppendChild(newPara);
// Salve o documento HTML em um arquivo
document.Save(@"C:\Files\html\edit.html");
Adicionar conteúdo HTML bruto em C#
Podemos adicionar ou editar elementos adicionando manualmente o código HTML como conteúdo usando a propriedade InnerHTML de um elemento. Podemos adicionar HTML bruto seguindo as etapas abaixo:
- Em primeiro lugar, crie uma instância da classe HTMLDocument.
- Em seguida, defina o conteúdo do elemento Body.InnerHTML como string HTML bruta.
- Finalmente, salve o documento HTML usando o método Save(). Ele usa o caminho do arquivo de saída como um argumento.
O exemplo de código a seguir mostra como adicionar conteúdo HTML bruto ao arquivo usando C#.
// Este exemplo de código demonstra como adicionar HTML bruto ao corpo HTML.
// Criar uma instância de um documento HTML
using (var document = new HTMLDocument())
{
// Escreva o conteúdo do documento HTML na saída do console
Console.WriteLine(document.DocumentElement.OuterHTML);
// Defina o conteúdo do elemento do corpo
document.Body.InnerHTML = "<p>HTML is the standard markup language for Web pages.</p>";
/// Salve o documento HTML em um arquivo
document.Save(@"C:\Files\html\using-innerHTML.html");
}
Obtenha licença gratuita
Você pode obter uma licença temporária gratuita para experimentar o Aspose.HTML para .NET sem limitações de avaliação.
Conclusão
Neste artigo, aprendemos como:
- criar documentos HTML programaticamente;
- carregar um documento HTML existente do caminho do disco local;
- leia o HTML do arquivo carregado;
- adicionar novo conteúdo ao arquivo HTML existente;
- modificar o conteúdo existente em C#.
Além de criar, ler e editar arquivos HTML em C#, você pode aprender mais sobre Aspose.HTML para .NET API usando documentação. Em caso de ambiguidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.