[iOS]イベント駆動のXMLプログラミング(その2)
前回の続き。用語を整理する。
エレメントは以下の初期となる。
<タグ>内容</タグ>
エレメントとは、タグで囲まれたデータという事になる。
XMLデータを頭から処理していき、エレメントに到達すると- parser:didStartElement:namespaceURI:qualifiedName:attributes:が呼ばれる。そのエレメントの内容に到達すると- parser:foundCharacters:が呼ばれるイメージだ。
XMLデータは木構造となるが、SAXではイベント駆動でデリゲートのメソッドが呼ばれるので、アプリケーション側で木構造を意識して処理する事になる。
例えば、以下のようなXMLデータ。
<?xml version= "1.0" encoding="UTF8">
<article author="Yukio MURAKAMI">
<para>とても短い文章。</para>
</article>
- 処理開始
- エレメントarticleの開始タグが得られる。
- エレメントarticleの属性authorと値"Yukio MURAKAMI"が得られる。
- エレメントparaの開始タグが得られる。エレメントarticleの終了タグはまだなので、paraはarticleに包含されている事が分かる。
- エレメントparaの内容”とても短い文書。”が得られる。
- エレメントparaの終了タグが得られる。
- エレメントarticleの終了タグが得られる。
- 処理終了
ソースコード
GitHubからどうぞ。
https://github.com/murakami/workbook/tree/master/ios/XMLParser - GitHub
関連情報
Event-Driven XML Programming Guide
Apple Developerサイトの情報。