cli Gratis Activo

xml2json

Para transformar los ZIP/XML de licitaciones públicas españolas en un JSON consolidado y filtrado

Script de Node que convierte a JSON los datos XML de la Plataforma de Contratación del Estado

Notas y contexto

Qué es

xml2json es una herramienta de línea de comandos escrita en JavaScript vanilla sobre Node.js, desarrollada por OCM-Jerez (Observatorio Ciudadano Municipal de Jerez). Lee los ficheros que publica la Plataforma de Contratación del Sector Público español y los convierte de XML a JSON. Se apoya en xml2js para el parseo, node-stream-zip para descomprimir los archivos y readline-sync para una pequeña interfaz interactiva en consola. Está pensada para trabajar con los datos de licitaciones y contratos menores publicados desde 2014.

Para qué sirve

  • Convertir a JSON los datos XML de contratación pública que ofrece el Estado.
  • Procesar directamente los archivos ZIP descargados y generar un único JSON consolidado.
  • Filtrar la información por Perfil de Contratante o por órgano de contratación.
  • Eliminar registros duplicados conservando la versión más reciente.

Cuándo usarlo

Es útil cuando necesitas explotar o analizar datos abiertos de contratación pública española y la fuente original solo está disponible en XML comprimido. Encaja en flujos de periodismo de datos, transparencia o análisis cívico. Para necesidades genéricas de XML a JSON existen librerías de propósito general como xml2js o fast-xml-parser; xml2json destaca por estar adaptado al formato y los filtros concretos de esta plataforma.

Ejemplo

git clone https://github.com/OCM-Jerez/xml2json cd xml2json npm install

Editar index.js para indicar los órganos o perfiles a filtrar

node index.js

Al ejecutarlo, la herramienta procesa los ZIP de entrada y crea una carpeta “resultados” con el JSON final y un fichero de log del proceso.

Puntos clave

  • Especializado en el formato concreto de la Plataforma de Contratación del Sector Público.
  • Lee los ZIP de origen y produce un JSON único, ya deduplicado.
  • Permite filtrar por Perfil de Contratante u órgano antes de exportar.
  • Proyecto open source con licencia MIT y mantenimiento activo.

Ten en cuenta

La configuración de filtros se hace editando el código (index.js), no mediante argumentos o un fichero de configuración, lo que exige tocar el fuente para cada caso. Es una utilidad de nicho ligada a un formato de datos público español: fuera de ese contexto, una librería genérica de conversión XML a JSON será más adecuada. Conviene revisar que la estructura de los datos de origen no haya cambiado antes de basar un análisis en su salida.

Volver al directorio
Volver al directorio