Swift:
XML 다루기

방법:

Swift는 XML 데이터를 파싱하기 위해 XMLParserXMLDocument를 제공합니다. 간단한 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()
}

또한, XMLDocument를 사용하여 XML을 생성할 수도 있습니다:

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년대 후반부터 있었습니다. 이는 장황하지만 인간이 읽을 수 있어 복잡한 데이터 구조에 적합합니다. Swift의 XML 파싱 기능은 Python의 ElementTree나 Java의 JAXB에서 찾을 수 있는 것처럼 강력하지는 않지만, 기본적인 필요에 대해서는 충분히 해결할 수 있습니다.

새로운 시스템에서는 JSON과 같은 대안이 그 가벼운 무게와 덜 복잡한 파싱기 때문에 종종 선호되지만, XML은 여전히 많은 엔터프라이즈 및 레거시 시스템에서 두드러집니다.

Swift에서 XML을 다룰 때, XMLParser는 스트림 기반 파서이므로 XML 문서를 순차적으로 읽습니다. 큰 XML 파일의 경우, 이는 메모리 효율적입니다. 그러나 만약 당신이 단순함을 찾고 있고 당신의 XML 데이터가 합리적으로 작다면, XMLDocument를 사용하는 것이 더 간단할 수 있습니다.

참조