[iOS]イベント駆動のXMLプログラミング(その2) | Cocoa練習帳

[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>




  1. 処理開始

  2. エレメントarticleの開始タグが得られる。

  3. エレメントarticleの属性authorと値"Yukio MURAKAMI"が得られる。

  4. エレメントparaの開始タグが得られる。エレメントarticleの終了タグはまだなので、paraはarticleに包含されている事が分かる。

  5. エレメントparaの内容”とても短い文書。”が得られる。

  6. エレメントparaの終了タグが得られる。

  7. エレメントarticleの終了タグが得られる。

  8. 処理終了




ソースコード
GitHubからどうぞ。

https://github.com/murakami/workbook/tree/master/ios/XMLParser - GitHub


関連情報
Event-Driven XML Programming Guide

Apple Developerサイトの情報。