トップ «前の日記(2012-03-04) 最新 次の日記(2012-03-06)» 編集

Cocoa練習帳

iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど

2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|

2012-03-05 [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サイトの情報。

トップ «前の日記(2012-03-04) 最新 次の日記(2012-03-06)» 編集