Carregar HTML com Aspose.HTML for .NET
Aspose.HTML for .NET carrega HTML em um HTMLDocument , a árvore do documento em memória usada para consultas DOM, alterações de conteúdo, extração de dados, salvamento e conversão. Os construtores de HTMLDocument aceitam caminho local, URL remoto, string de marcação ou stream, permitindo que a aplicação escolha a origem adequada ao fluxo de trabalho.
Carregar um arquivo HTML em C#
Passe um caminho de arquivo local ao construtor de HTMLDocument. Após o carregamento, o documento expõe o DOM analisado. O exemplo abre input.html e lê toda a marcação do elemento do documento por meio de
OuterHTML
.
Código C# para carregar um documento HTML de um arquivo
using System;
using Aspose.Html;
using HTMLDocument document = new HTMLDocument("input.html");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
Escolher a origem HTML e o construtor
- Arquivo local. Passe o caminho quando o HTML já estiver no disco e os recursos relativos precisarem ser resolvidos com base na localização do documento.
- URL remoto. Passe um endereço HTTP ou HTTPS quando a aplicação precisar carregar uma página web e seus recursos externos permitidos.
- String de marcação. Passe o código HTML com uma URL base quando a marcação já estiver disponível na memória.
- Stream. Passe um stream legível e uma URL base quando o HTML vier de upload, corpo de resposta, banco de dados ou outra origem em memória.
Carregar HTML de uma URL em C#
O construtor que recebe um único endereço pode abrir uma página web remota. O carregamento por URL também processa recursos externos acessíveis e permitidos pela configuração do ambiente. Depois, use propriedades e métodos DOM para inspecionar ou modificar o documento.
Código C# para carregar um documento HTML de uma URL
using System;
using Aspose.Html;
using HTMLDocument document =
new HTMLDocument("https://docs.aspose.com/html/net/creating-a-document/");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
Carregar HTML de uma string em C#
Use o construtor com dois argumentos quando a aplicação já tiver a marcação HTML em uma string. O segundo argumento é a URL base usada para resolver imagens, folhas de estilo, scripts, fontes e links relativos. Este exemplo independente usa "." para o diretório atual. Informe o diretório ou endereço web real quando a marcação tiver referências relativas.
Código C# para criar um documento HTML de uma string
using System;
using Aspose.Html;
string markup = "<p>HTML loaded from a string</p>";
// Use the current directory as the base URL
string baseUrl = ".";
using HTMLDocument document = new HTMLDocument(markup, baseUrl);
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
Carregar HTML de um stream em C#
O construtor de stream lê a partir da posição atual. Se a aplicação acabou de gravar o HTML, descarregue o writer e redefina a posição antes de criar o documento. Mantenha o stream aberto até HTMLDocument terminar a leitura. O exemplo usa "." como URL base neutra do diretório atual porque a marcação não possui recursos relativos.
Código C# para carregar um documento HTML de um stream
using System;
using System.IO;
using System.Text;
using Aspose.Html;
using MemoryStream stream = new MemoryStream();
// Keep the stream open after disposing the writer
using (StreamWriter writer = new StreamWriter(stream, Encoding.UTF8, 1024, true))
{
writer.Write("<p>HTML loaded from a stream</p>");
writer.Flush();
}
// Reset the stream before HTMLDocument reads it
stream.Position = 0;
using HTMLDocument document =
new HTMLDocument(stream, ".");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
Comportamento e considerações do carregamento HTML
- Os construtores analisam HTML em um DOM. A árvore resultante segue as regras de análise HTML. Uma serialização posterior pode normalizar a estrutura ou a marcação, portanto não espere uma cópia idêntica byte a byte.
- Uma URL base controla os recursos relativos. Entradas de string e stream não têm localização própria. Informe a localização que deve resolver CSS, imagens, scripts, fontes e links relativos.
- Os construtores carregam de forma síncrona. Eles aguardam o documento e os recursos externos permitidos. Use
Navigate()e eventos do documento quando a aplicação exigir navegação assíncrona. - O carregamento remoto depende do ambiente. Endereços inválidos, redirecionamentos, autenticação, falhas de rede e restrições de segurança podem impedir o carregamento da página ou de recursos vinculados.
- Descarte os documentos carregados.
HTMLDocumentmantém o estado do documento e dos recursos. Uma declaração ou bloco using libera esse estado quando o processamento termina.
Documentação e referência da API para carregar HTML
Consulte Criar ou carregar documentos HTML para ver exemplos de construtores, orientação sobre URL base, navegação assíncrona e problemas comuns de carregamento. Depois, use o guia HTML DOM para navegar pelos nós ou Editar documento HTML para alterar conteúdo e atributos. Para um documento novo sem origem existente, consulte Criar HTML em C# .
Instalar o Aspose.HTML for .NET
Instale o Aspose.HTML for .NET pelo NuGet usando a CLI do .NET:
dotnet add package Aspose.HTML
Você também pode usar a interface do Gerenciador de Pacotes NuGet ou executar Install-Package Aspose.HTML no Console do Gerenciador de Pacotes. Consulte o
guia de instalação
para configurar a biblioteca ou solicite uma
licença temporária
para avaliar a API sem limitações.
Perguntas frequentes sobre o carregamento de HTML
1. Como carregar um documento HTML em C#?
Passe um caminho local ou URL ao construtor de HTMLDocument. Para marcação armazenada em string ou stream, passe o conteúdo com uma URL base. O construtor analisa a origem e expõe o DOM HTML resultante.
2. O carregamento de HTML preserva exatamente a marcação de origem?
Não conte com identidade byte a byte. Aspose.HTML analisa a origem em um DOM, e a serialização posterior pode normalizar elementos implícitos, codificação de caracteres, espaços ou estrutura da marcação, preservando o modelo do documento.
3. Aspose.HTML pode carregar uma página web de forma assíncrona?
Sim. Os construtores executam carregamento síncrono. Siga
Carregar HTML de forma assíncrona
para criar o documento, assinar eventos como OnReadyStateChange ou OnLoad, chamar Navigate() e aguardar com um tempo limite definido pela aplicação.
4. Por que um documento HTML remoto pode não carregar?
As causas comuns incluem URL inválido ou inacessível, redirecionamentos, autenticação, restrições de rede, recursos externos bloqueados ou configurações de segurança. Valide o endereço e configure somente o acesso de rede necessário.
5. Como restringir recursos externos durante o carregamento de HTML?
Crie o documento com uma Configuration que aplique as configurações necessárias de segurança e carregamento de recursos. Limite o acesso remoto a locais confiáveis, principalmente quando o HTML ou URL vier de um usuário não confiável.
Fluxos de trabalho relacionados a documentos HTML
Continue com criação, edição, seleção ou consultas estruturadas de documentos.