Swift:
Trabajando con XML

Cómo hacerlo:

Swift proporciona XMLParser y XMLDocument para analizar datos XML. Aquí hay un fragmento para analizar una simple cadena XML:

import Foundation

let xmlString = """
<?xml version="1.0" encoding="UTF-8"?>
<note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Recordatorio</heading>
    <body>No olvides la fiesta el viernes!</body>
</note>
"""

if let xmlData = xmlString.data(using: .utf8) {
    let parser = XMLParser(data: xmlData)
    parser.delegate = someParserDelegate // Tu XMLParserDelegate
    parser.parse()
}

También puedes generar XML utilizando XMLDocument:

import Foundation

let note = XMLElement(name: "note")
let to = XMLElement(name: "to", stringValue: "Tove")
note.addChild(to)
let xmlDoc = XMLDocument(rootElement: note)

print(xmlDoc.xmlString(options: .nodePrettyPrint))

Salida de muestra:

<note>
  <to>Tove</to>
</note>

Análisis Profundo

XML, o Lenguaje de Marcado Extensible, existe desde finales de los ‘90. Es detallado pero legible por humanos, lo que lo hace adecuado para estructuras de datos complejas. Las capacidades de análisis XML de Swift no son tan robustas como las encontradas en ElementTree de Python o JAXB de Java, pero son suficientes para las necesidades básicas.

Alternativas como JSON a menudo son preferidas en sistemas nuevos debido a su menor peso y analizadores menos complejos, pero XML todavía es prominente en muchos sistemas empresariales y heredados.

Cuando trabajas con XML en Swift, XMLParser es un analizador basado en streaming, lo que significa que lee a través del documento XML secuencialmente. Para archivos XML grandes, esto es eficiente en términos de memoria. Sin embargo, si buscas simplicidad y tus datos XML son razonablemente pequeños, usar XMLDocument podría ser más directo.

Ver También