JSON a XML
Descripcion
Sección titulada «Descripcion»Este modulo convierte datos JSON a formato XML usando la libreria fast-xml-parser. Ofrece amplia configuracion para controlar la salida XML: nombre del elemento raiz, indentacion, declaracion XML, manejo de atributos con prefijos personalizados, y campos CDATA. Puede procesar toda la entrada o un campo especifico indicado por data_key. Es ideal para integraciones con sistemas que requieren XML, como servicios SOAP, facturacion electronica, o intercambio de datos EDI.
Configuracion
Sección titulada «Configuracion»Parametros
Sección titulada «Parametros»| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
| data_key | text | No | Ruta al campo JSON a convertir (ej: payload.order). Dejar vacio para usar toda la entrada. |
| root_name | text | No | Nombre del tag raiz del XML. Por defecto root. |
| declaration | boolean | No | Si es true, agrega <?xml version="1.0" encoding="UTF-8"?> al inicio. Por defecto true. |
| indent | select | No | Indentacion del XML: 2 espacios, 4 espacios, tabulador o sin indentacion (compacto). Por defecto 2 espacios. |
| cdata_keys | text | No | Campos que deben envolverse en CDATA, separados por coma (ej: description,body_html). |
| attribute_prefix | text | No | Prefijo para convertir claves en atributos XML. Por defecto _attr_. Ejemplo: _attr_id genera <tag id="...">. |
| output_key | text | No | Nombre del campo donde guardar el XML resultante. Dejar vacio para devolver {xml: '...', original: {...}}. |
{ "nextModule": "siguiente_modulo", "data": { "xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<order>\n <id>123</id>\n <total>99.99</total>\n</order>", "original": { "id": 123, "total": 99.99 } }, "_meta_": { "rootElement": "order", "xmlLength": 95, "hadCdata": false }}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Caso basico
Sección titulada «Caso basico»{ "data_key": "payload", "root_name": "invoice", "declaration": true, "indent": " ", "cdata_keys": "description,notes", "output_key": "xml_output"}- Utiliza la libreria
fast-xml-parser(XMLBuilder) para la generacion - Los campos CDATA se envuelven recursivamente en objetos anidados
- Las claves con el prefijo de atributos se convierten en atributos XML del elemento padre
- Si
data_keyno se encuentra en los datos, se retorna error - El
_meta_incluye el nombre del elemento raiz, longitud del XML y si se usaron CDATA - Para la operacion inversa (XML a JSON), usar el modulo xmlToJson
Nodos Relacionados
Sección titulada «Nodos Relacionados»- xmlToJson (operacion inversa: XML a JSON)
- jsonToToon (conversion a formato TOON)
- dataset (preparar datos antes de convertir a XML)