Swift:
Å jobbe med XML

Hvordan:

Swift gir XMLParser og XMLDocument for å analysere XML-data. Her er et eksempel for å analysere en enkel XML-streng:

import Foundation

let xmlString = """
<?xml version="1.0" encoding="UTF-8"?>
<note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Påminnelse</heading>
    <body>Ikke glem festen på fredag!</body>
</note>
"""

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

Du kan også generere XML ved hjelp av 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))

Eksempel på utdata:

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

Dypdykk

XML, eller Extensible Markup Language, har vært rundt siden slutten av 90-tallet. Det er ordrikt men menneskelesbart, noe som gjør det godt egnet for komplekse datastrukturer. Swifts XML-analysekapasiteter er ikke like robuste som de man finner i Pythons ElementTree eller Javas JAXB, men de utfører jobben for grunnleggende behov.

Alternativer som JSON foretrekkes ofte i nye systemer på grunn av deres lettere vekt og mindre komplekse parsere, men XML er fortsatt fremtredende i mange foretaks- og arvesystemer.

Når du jobber med XML i Swift, er XMLParser en strømbasert parser, noe som betyr at den leser gjennom XML-dokumentet sekvensielt. For store XML-filer er dette minneeffektivt. Imidlertid, hvis du ser etter enkelhet og XML-dataene dine er rimelig små, kan det å bruke XMLDocument være mer greit.

Se også