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>金曜日のパーティーを忘れないで!</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、または拡張可能マークアップ言語は、90年代後半から存在しています。XMLは冗長ですが人間が読める形式であるため、複雑なデータ構造に適しています。SwiftのXML解析機能は、PythonのElementTreeやJavaのJAXBに見られるものほど堅牢ではありませんが、基本的なニーズに対しては十分な仕事をこなします。

新しいシステムでは、その軽量性や解析器の複雑さが少ないため、JSONのような代替物がよく好まれますが、XMLは依然として多くのエンタープライズやレガシーシステムで際立っています。

SwiftでXMLを扱う場合、XMLParserはストリームベースの解析器であり、XMLドキュメントを順次読み進めることを意味します。大きなXMLファイルの場合、これはメモリ効率が良いです。しかし、XMLデータが比較的小さく、シンプルさを求めている場合は、XMLDocumentを使用する方が直接的かもしれません。

参照