Saltearse al contenido

XML a JSON

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.

ParametroTipoRequeridoDescripcion
data_keytextNoRuta al campo que contiene el string XML (ej: payload.body). Dejar vacio si la entrada completa es XML.
ignore_attributesbooleanNoSi es true, omite los atributos de los tags XML. Por defecto false.
attribute_prefixtextNoPrefijo para los nombres de atributos en el JSON resultante. Por defecto _attr_.
text_node_nametextNoNombre de la clave para contenido de texto cuando un tag tiene atributos e hijos. Por defecto #text.
trim_valuesbooleanNoElimina espacios al inicio y final de los valores. Por defecto true.
parse_numbersbooleanNoConvierte valores numericos automaticamente ("123" a 123). Por defecto true.
parse_booleansbooleanNoConvierte "true"/"false" a booleanos. Por defecto true.
remove_rootbooleanNoExtrae el contenido del primer tag raiz, eliminando el wrapper. Por defecto false.
array_tagstextNoTags que siempre deben ser arrays aunque tengan un solo hijo, separados por coma (ej: item,line_item).
output_keytextNoNombre 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
}
}
{
"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_tags siempre 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
  • jsonToXml (operacion inversa: JSON a XML)
  • toonToJson (conversion desde formato TOON)
  • dataTransform (transformar el JSON resultante)