Swift:
Lavorare con XML

Come fare:

Swift fornisce XMLParser e XMLDocument per l’analisi dei dati XML. Ecco un frammento per analizzare una semplice stringa XML:

import Foundation

let xmlString = """
<?xml version="1.0" encoding="UTF-8"?>
<note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Promemoria</heading>
    <body>Non dimenticare la festa di venerdì!</body>
</note>
"""

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

È possibile anche generare XML usando 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))

Output di esempio:

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

Approfondimento

XML, o eXtensible Markup Language, è presente sin dalla fine degli anni ‘90. È prolisso ma leggibile dall’uomo, rendendolo adatto per strutture dati complesse. Le capacità di analisi XML di Swift non sono robuste come quelle trovate in ElementTree di Python o JAXB di Java, ma sono sufficienti per le necessità di base.

Alternative come JSON sono spesso preferite nei nuovi sistemi dovuto al loro minor peso e parser meno complessi, ma XML è ancora prominente in molti sistemi aziendali e legacy.

Quando si lavora con XML in Swift, XMLParser è un parser basato su stream, il che significa che legge sequenzialmente il documento XML. Per file XML di grandi dimensioni, questo è efficiente in termini di memoria. Tuttavia, se cerchi semplicità e i tuoi dati XML sono ragionevolmente piccoli, usare XMLDocument potrebbe essere più diretto.

Vedi Anche