Una biblioteca Java para analizar, extraer, editar y limpiar HTML real mediante métodos DOM, selectores CSS y XPath.
beevik/etree
Paquete ligero y escrito íntegramente en Go para analizar, consultar, modificar y escribir XML como un árbol de elementos, con consultas de rutas similares a XPath.
- Estrellas
- 1,672
- Forks
- 191
- Issues abiertos
- 4
- Último commit
- el mes pasado
¿Qué es?
etree representa los documentos XML como árboles de elementos, lo que facilita recorrerlos, buscarlos y modificarlos en Go. Permite crear un documento desde cero o leerlo desde un archivo, un slice de bytes, una cadena o un io.Reader, y escribirlo con sangría opcional mediante espacios o tabulaciones.
El paquete ofrece métodos sencillos para seleccionar elementos secundarios y atributos, además de consultas ligeras de rutas similares a XPath. Las rutas se pueden compilar de antemano para repetir búsquedas y admiten búsquedas recursivas con barras dobles y predicados, como coincidencias de valores de atributos o valores con prefijo de espacio de nombres. Su diseño se inspiró en el módulo ElementTree de Python.
etree está implementado íntegramente en Go, solo depende de la biblioteca estándar y se basa en el paquete estándar encoding/xml. Requiere Go 1.23 o posterior.
Funciones clave
- 01Crea documentos XML desde cero o los analiza a partir de archivos, cadenas, slices de bytes e io.Reader.
- 02Busca con selectores sencillos o consultas de rutas similares a XPath, incluidas búsquedas recursivas y basadas en predicados.
- 03Las rutas precompiladas permiten repetir consultas de forma eficiente.
- 04Añade sangría automáticamente a la salida serializada, con espacios o tabulaciones.
- 05Está implementado íntegramente en Go y no tiene dependencias fuera de la biblioteca estándar.
Casos de uso
- Leer y modificar archivos de configuración XML en un servicio escrito en Go.
- Generar documentos XML, como feeds o exportaciones estructuradas, desde código Go.
- Extraer valores concretos de cargas XML grandes mediante consultas de rutas.
Inicio rápido
- 1
Instala el paquete etree con go get
go get github.com/beevik/etree - 2
Crea un nuevo documento XML y escríbelo en stdout en tu programa Go, como se muestra en el ejemplo de creación del README
Temas
Preguntas frecuentes
- ¿Qué es etree?
- Paquete ligero y escrito íntegramente en Go para analizar, consultar, modificar y escribir XML como un árbol de elementos, con consultas de rutas similares a XPath. etree representa los documentos XML como árboles de elementos, lo que facilita recorrerlos, buscarlos y modificarlos en Go. Permite crear un documento desde cero o leerlo desde un archivo, un slice de bytes, una cadena o un io.Reader, y escribirlo con sangría opcional mediante espacios o tabulaciones.
- ¿etree es gratuito? ¿Qué licencia tiene?
- etree es open source bajo la licencia BSD-2-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿etree sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de etree fue el 23 sept 2026.
- ¿Para qué puedo usar etree?
- Leer y modificar archivos de configuración XML en un servicio escrito en Go. Generar documentos XML, como feeds o exportaciones estructuradas, desde código Go. Extraer valores concretos de cargas XML grandes mediante consultas de rutas.
- ¿Cómo se instala etree?
- Instala el paquete etree con go get: go get github.com/beevik/etree Crea un nuevo documento XML y escríbelo en stdout en tu programa Go, como se muestra en el ejemplo de creación del README
- ¿Dónde consigo etree?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/beevik/etree
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca rápida al estilo de jQuery para analizar y manipular documentos HTML y XML en el servidor o en el navegador.
Un renderizador de path tracing para three.js que usa WebGPU y three-mesh-bvh para producir imágenes con base física en el navegador.
Bibliotecas de clases C++ multiplataforma para crear aplicaciones centradas en la red, con soporte para HTTP, bases de datos, XML/JSON y logging.
API gateway de código abierto que hace proxy de servicios REST y SOAP, con despliegue de OpenAPI, conversión de WSDL a OpenAPI, seguridad OAuth2/JWT y validación de mensajes.
Editor de JSON de código abierto que convierte JSON, YAML, CSV y XML en gráficos interactivos, convierte formatos y genera código.