Swift:
Trabalhando com XML

Como fazer:

Swift oferece XMLParser e XMLDocument para a análise de dados XML. Aqui está um trecho para analisar uma simples string XML:

import Foundation

let xmlString = """
<?xml version="1.0" encoding="UTF-8"?>
<note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Lembrete</heading>
    <body>Não esqueça a festa na sexta-feira!</body>
</note>
"""

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

Você também pode gerar 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))

Saída de amostra:

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

Aprofundamento

XML, ou Extensible Markup Language, existe desde o final dos anos 90. É verboso, mas legível por humanos, tornando-o adequado para estruturas de dados complexas. As capacidades de análise XML do Swift não são tão robustas quanto aquelas encontradas no ElementTree do Python ou no JAXB do Java, mas são suficientes para necessidades básicas.

Alternativas como JSON são muitas vezes preferidas em novos sistemas devido ao seu menor peso e parsers menos complexos, mas o XML ainda é proeminente em muitos sistemas empresariais e legados.

Ao trabalhar com XML em Swift, XMLParser é um parser baseado em fluxo, o que significa que ele lê o documento XML sequencialmente. Para arquivos XML grandes, isso é eficiente em termos de memória. No entanto, se você está procurando simplicidade e seus dados XML são razoavelmente pequenos, usar XMLDocument pode ser mais direto.

Veja Também