TypeScript:
Trabajando con XML

Cómo hacerlo:

import { parseString } from 'xml2js';

// Ejemplo de XML
const xml = `<note>
                <to>Usuario</to>
                <from>Autor</from>
                <heading>Recordatorio</heading>
                <body>¡No olvides la reunión!</body>
             </note>`;

// Analizar XML a JSON
parseString(xml, (err, result) => {
    if(err) throw err;
    console.log(result);
});

// Asumiendo que el análisis fue exitoso, la salida podría parecerse a:
// { note:
//    { to: ['Usuario'],
//      from: ['Autor'],
//      heading: ['Recordatorio'],
//      body: ['¡No olvides la reunión!'] } 
}

Profundización

XML, o Lenguaje de Marcado Extensible, existe desde fines de los ‘90. Su naturaleza autodescriptiva y formato legible por humanos lo hicieron popular desde el principio para diversas aplicaciones como fuentes RSS, gestión de configuración, e incluso formatos de documentos de oficina como Microsoft Office Open XML. Pero, es verboso comparado con JSON, y la tendencia ha cambiado. JSON ha ganado protagonismo para APIs basadas en la web debido a su menor peso y compatibilidad nativa con JavaScript.

No obstante, XML no ha muerto. Se utiliza en sistemas empresariales a gran escala y para estándares de documentos que no han cambiado a JSON. Herramientas como xml2js para TypeScript o lxml en Python prueban que hay una necesidad continua de manipulación de XML en la programación.

TypeScript no tiene soporte incorporado para XML como lo tiene para JSON. En cambio, se trabaja con bibliotecas. xml2js es un ejemplo. Transforma XML en JSON, facilitando el manejo de los datos para los gurús de JavaScript.

Ver También