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.