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>Don't forget the party on Friday!</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 หรือ Extensible Markup Language มีมาตั้งแต่ปลายยุค 90’s มันเป็นรูปแบบที่กระชับแต่อ่านง่าย ทำให้มันเหมาะกับโครงสร้างข้อมูลที่ซับซ้อน Swift มีความสามารถในการแยกวิเคราะห์ XML ไม่เข้มข้นเหมือนกับที่พบใน ElementTree ของ Python หรือ JAXB ของ Java แต่ก็สามารถรับมือกับความต้องการพื้นฐานได้

ทางเลือกอย่าง JSON มักถูกนิยมในระบบใหม่ๆ เนื่องจากมีน้ำหนักเบาและตัวแยกวิเคราะห์ที่ไม่ซับซ้อน แต่ XML ยังคงมีความสำคัญในหลายระบบองค์กรและระบบเก่า

เมื่อทำงานกับ XML ใน Swift, XMLParser เป็นตัวแยกวิเคราะห์แบบสตรีมซึ่งหมายความว่ามันอ่านผ่านเอกสาร XML อย่างเรียงตามลำดับ สำหรับไฟล์ XML ขนาดใหญ่นี่เป็นวิธีที่ประหยัดหน่วยความจำ อย่างไรก็ตาม หากคุณกำลังมองหาความง่ายและข้อมูล XML ของคุณมีขนาดไม่ใหญ่มาก การใช้ XMLDocument อาจเป็นวิธีที่ง่ายกว่า

ดูเพิ่มเติม