¿Cómo se generan los XML desde los JSON?

¿Cómo se generan los XML desde los JSON?


La generación de los XML en LibreDTE se hace directamente a partir de los datos de un arreglo en PHP, este arreglo a su vez puede ser generado a partir de los datos en formato JSON. Esta es la razón por la cual los ejemplos de LibreDTE, en su mayoría, son entregados en formato JSON. Y es la razón por la cual el formato estándar y por defecto para las integraciones mediante servicios web son con datos en JSON.

La conversión es directa desde el JSON al XML, esto es, se toma cada atributo el objeto JSON y se convierte a un tag en el XML. Esto tiene dos ventajas:

  1. Hace muy simple la creación de los XML, ya que sólo se deben crear JSON, que son archivos con un formato mucho más simple de manejar (a nivel de índices, objetos, etc).
  2. El formato que se usa en los JSON es exactamente el mismo que se utiliza en los formatos de XML del SII.

El punto 2 implica que si quiero saber cómo agregar un campo X en el JSON, sólo se debe ir a la documentación de los XML del SII y buscar el nombre y ubicación de dicho campo. Esto es lo que hace que LibreDTE sea posible.

Haz clic AQUÍ para ver la explicación de las alternativas que se analizaron para crear los XML y una explicación más detallada de lo que se explica acá.

Ejemplos:

El siguiente ejemplo muestra el resultado de convertir un objeto JSON a un XML usando LibreDTE:

{
    "root": {
        "nodo1": "A",
        "nodo2": "B"
    }
}


Las listas son tratadas de forma especial, en este caso se repite el tag del índice de la lista:

{
    "raiz": {
        "telefono": [123, 456]
    }
}