Swift:
עבודה עם XML
איך לעשות:
Swift מספקת את XMLParser
ו-XMLDocument
לניתוח נתוני XML. הנה קטע קוד לניתוח מחרוזת XML פשוטה:
import Foundation
let xmlString = """
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>אל תשכח את המסיבה ביום שישי!</body>
</note>
"""
if let xmlData = xmlString.data(using: .utf8) {
let parser = XMLParser(data: xmlData)
parser.delegate = someParserDelegate // נציג XMLParserDelegate שלך
parser.parse()
}
ניתן גם לייצר XML באמצעות 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))
פלט לדוגמא:
<note>
<to>Tove</to>
</note>
צלילה עמוקה
XML, או שפת סימון להרחבה, היא קיימת מאז שנות ה-90 המאוחרות. היא מפורטת אך קריאה לאדם, מה שהופך אותה למתאימה למבני נתונים מורכבים. יכולות הניתוח של Swift ל-XML אינן חזקות כמו אלו שנמצאות ב-ElementTree של Python או ב-JAXB של Java, אך הן מספקות פתרון לצרכים בסיסיים.
אלטרנטיבות כמו JSON מועדפות לעיתים קרובות במערכות חדשות בזכות משקלן הקל יותר ומנתחים פחות מורכבים, אך XML עדיין נמצאת בשימוש רב במערכות ארגוניות ויישומים קיימים.
כאשר עובדים עם XML ב-Swift, XMLParser
הוא מנתח מבוסס זרם, מה שאומר שהוא קורא את המסמך XML בצורה רציפה. לקבצי XML גדולים, זה יעיל מבחינת זיכרון. עם זאת, אם אתה מחפש פשטות והנתונים שלך ב-XML הם בגודל סביר, שימוש ב-XMLDocument
עשוי להיות יותר פשוט.