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 עשוי להיות יותר פשוט.

ראה גם