Biblioteca Java para analisar, extrair, editar e sanitizar HTML do mundo real usando métodos DOM, seletores CSS e XPath.
beevik/etree
Pacote leve, escrito inteiramente em Go, que analisa, consulta, modifica e grava XML como uma árvore de elementos, com consultas por caminhos semelhantes a XPath.
- Estrelas
- 1,672
- Forks
- 191
- Issues abertas
- 4
- Último commit
- mês passado
O que é?
etree representa documentos XML como árvores de elementos, o que facilita percorrê-los, pesquisá-los e alterá-los em Go. É possível criar um documento do zero ou lê-lo de um arquivo, de um slice de bytes, de uma string ou de um io.Reader e gravá-lo novamente, com indentação opcional usando espaços ou tabulações.
O pacote oferece métodos simples para selecionar elementos filhos e atributos, além de consultas leves por caminhos semelhantes a XPath. Os caminhos podem ser compilados antecipadamente para buscas repetidas e oferecem suporte a buscas recursivas com barras duplas e predicados, como correspondências de valores de atributos ou com prefixo de namespace. Seu design foi inspirado no módulo ElementTree do Python.
etree é implementado inteiramente em Go, depende apenas da biblioteca padrão e se baseia no pacote padrão encoding/xml. Requer Go 1.23 ou posterior.
Recursos principais
- 01Cria documentos XML do zero ou os analisa a partir de arquivos, strings, slices de bytes e io.Reader.
- 02Faz buscas com seletores simples ou consultas por caminhos semelhantes a XPath, incluindo buscas recursivas e baseadas em predicados.
- 03Caminhos pré-compilados permitem fazer consultas repetidas com eficiência.
- 04Indenta automaticamente a saída serializada com espaços ou tabulações.
- 05Implementado inteiramente em Go, sem dependências além da biblioteca padrão.
Casos de uso
- Ler e modificar arquivos de configuração XML em um serviço Go.
- Gerar documentos XML, como feeds ou exportações estruturadas, a partir de código Go.
- Extrair valores específicos de grandes payloads XML usando consultas por caminhos.
Início rápido
- 1
Instale o pacote etree com go get
go get github.com/beevik/etree - 2
Crie um novo documento XML e escreva-o em stdout no seu programa Go, como mostrado no exemplo de criação do README
Tópicos
Perguntas frequentes
- O que é etree?
- Pacote leve, escrito inteiramente em Go, que analisa, consulta, modifica e grava XML como uma árvore de elementos, com consultas por caminhos semelhantes a XPath. etree representa documentos XML como árvores de elementos, o que facilita percorrê-los, pesquisá-los e alterá-los em Go. É possível criar um documento do zero ou lê-lo de um arquivo, de um slice de bytes, de uma string ou de um io.Reader e gravá-lo novamente, com indentação opcional usando espaços ou tabulações.
- etree é gratuito? Qual é a licença?
- etree é open source sob a licença BSD-2-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
- etree ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de etree foi em 23 de set. de 2026.
- Para que posso usar etree?
- Ler e modificar arquivos de configuração XML em um serviço Go. Gerar documentos XML, como feeds ou exportações estruturadas, a partir de código Go. Extrair valores específicos de grandes payloads XML usando consultas por caminhos.
- Como instalar etree?
- Instale o pacote etree com go get: go get github.com/beevik/etree Crie um novo documento XML e escreva-o em stdout no seu programa Go, como mostrado no exemplo de criação do README
- Onde consigo etree?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/beevik/etree
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca rápida no estilo jQuery para analisar e manipular documentos HTML e XML no servidor ou no navegador.
Um renderizador de path tracing para three.js com WebGPU, que usa three-mesh-bvh para gerar imagens com iluminação fisicamente realista no navegador.
Bibliotecas de classes C++ multiplataforma para criar aplicações centradas em rede, com suporte a HTTP, networking, bancos de dados, XML/JSON e logging.
Gateway de API open source que faz proxy de serviços REST e SOAP e adiciona implantação de OpenAPI, conversão de WSDL para OpenAPI, segurança com OAuth2/JWT e validação de mensagens.
Editor de JSON open source que transforma JSON, YAML, CSV e XML em gráficos interativos, com conversão de formatos e geração de código.