Swift:
Arbeiten mit XML
Wie man:
Swift bietet XMLParser
und XMLDocument
zum Parsen von XML-Daten. Hier ist ein Snippet, um einen einfachen XML-String zu parsen:
import Foundation
let xmlString = """
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Vergiss nicht die Party am Freitag!</body>
</note>
"""
if let xmlData = xmlString.data(using: .utf8) {
let parser = XMLParser(data: xmlData)
parser.delegate = someParserDelegate // Ihr XMLParserDelegate
parser.parse()
}
Sie können auch mit XMLDocument
XML erzeugen:
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))
Beispielausgabe:
<note>
<to>Tove</to>
</note>
Tiefergehende Betrachtung
XML, oder Extensible Markup Language, gibt es seit den späten 90ern. Es ist umständlich, aber menschenlesbar, was es für komplexe Datenstrukturen geeignet macht. Swifts Fähigkeiten, XML zu parsen, sind nicht so robust wie die in Pythons ElementTree oder Javas JAXB gefundenen, aber sie sind ausreichend für grundlegende Bedürfnisse.
Alternativen wie JSON werden in neuen Systemen oft bevorzugt aufgrund ihres geringeren Gewichts und der weniger komplexen Parser, aber XML ist immer noch prominent in vielen Unternehmens- und Legacy-Systemen.
Beim Arbeiten mit XML in Swift ist XMLParser
ein streambasierter Parser, was bedeutet, dass er das XML-Dokument sequenziell liest. Für große XML-Dateien ist dies speichereffizient. Wenn Sie jedoch Einfachheit suchen und Ihre XML-Daten vernünftigerweise klein sind, könnte die Verwendung von XMLDocument
direkter sein.