XML a JSON
Descripcion
Sección titulada «Descripcion»Este modulo convierte datos XML a formato JSON usando la libreria fast-xml-parser. Ofrece configuracion avanzada para controlar el parseo: manejo de atributos XML con prefijos personalizados, nodos de texto, recorte de espacios, parseo automatico de numeros y booleanos, eliminacion del elemento raiz, y definicion de tags que siempre deben ser arrays. Busca el string XML en la entrada de varias formas: a traves de un campo especifico, como string directo, o en campos comunes como xml, body o payload. Es ideal para procesar respuestas de servicios SOAP, archivos de facturacion electronica o datos EDI.
Configuracion
Sección titulada «Configuracion»Parametros
Sección titulada «Parametros»| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
| data_key | text | No | Ruta al campo que contiene el string XML (ej: payload.body). Dejar vacio si la entrada completa es XML. |
| ignore_attributes | boolean | No | Si es true, omite los atributos de los tags XML. Por defecto false. |
| attribute_prefix | text | No | Prefijo para los nombres de atributos en el JSON resultante. Por defecto _attr_. |
| text_node_name | text | No | Nombre de la clave para contenido de texto cuando un tag tiene atributos e hijos. Por defecto #text. |
| trim_values | boolean | No | Elimina espacios al inicio y final de los valores. Por defecto true. |
| parse_numbers | boolean | No | Convierte valores numericos automaticamente ("123" a 123). Por defecto true. |
| parse_booleans | boolean | No | Convierte "true"/"false" a booleanos. Por defecto true. |
| remove_root | boolean | No | Extrae el contenido del primer tag raiz, eliminando el wrapper. Por defecto false. |
| array_tags | text | No | Tags que siempre deben ser arrays aunque tengan un solo hijo, separados por coma (ej: item,line_item). |
| output_key | text | No | Nombre del campo donde guardar el JSON resultante. Dejar vacio para devolver directamente. |
{ "nextModule": "siguiente_modulo", "data": { "order": { "id": 123, "items": [ { "name": "Producto A", "quantity": 2 } ] } }, "_meta_": { "xmlLength": 250, "elementCount": 8, "rootRemoved": false, "attributesIgnored": false }}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Caso basico
Sección titulada «Caso basico»{ "data_key": "payload.xml_response", "remove_root": true, "array_tags": "item,line_item", "parse_numbers": true, "parse_booleans": true}- Utiliza la libreria
fast-xml-parser(XMLParser) para el parseo - Busca el string XML en este orden:
data_key> entrada directa como string >data.xml>data.body>data.payload - La entrada debe comenzar con
<para ser reconocida como XML valido - Los tags definidos en
array_tagssiempre se convierten en arrays aunque tengan un solo hijo - La conversion de booleanos se aplica recursivamente a toda la estructura
- El
_meta_incluye longitud del XML original, conteo de elementos y flags de configuracion
Nodos Relacionados
Sección titulada «Nodos Relacionados»- jsonToXml (operacion inversa: JSON a XML)
- toonToJson (conversion desde formato TOON)
- dataTransform (transformar el JSON resultante)