今回、案件でXMLを触る機会があったのでメモ。 Mac OS X用アプリの開発からObjective-Cに入った私にとって、 XMLをパースなんてNSXMLDocument使えばいいんでない? と思っていましたが、iOSでは使えない模様。iOSでどうやっているのか調べたころ、結構たくさんありました。 そんなわけで今回から代表的な手法をピックアップして使い方などを比較してみようかと思います。 あと、これらを比較するにあたって、せっかくなので解析したXMLをNSDictionary(連想配列)にするロジックを作成しようと思います。面倒臭がりの方は使ってみてください(できれば実案件では横着せずにちゃんと解析しましょう!)。そして最後の回で実行時間や機能などから、大本命はどのライブラリかを考察していきたいと思います! おさらい:XML解析のためのAPI 本題に入る前に、一般的なXML解析のためのA
iOSでXMLをパースするには標準で、 NSXMLParser Libxml2 を使う方法があるようです。外部ライブラリもある様ですが、そのへんは未調査です。 それぞれ一長一短で、NSXMLParserはSAXタイプのパーサです。Libxml2はSAXとDOMタイプの両方を提供しています。 個人的にSAXはフラグを多用するので好きじゃないのとSAXタイプの解析方法は色々と参考に出来るサイトが多々存在したので、Libxml2/DOMでの解析を試してみました。 標準で使えると書きましたが、標準でライブラリは存在するが、標準でライブラリは引きこまれていません。個別に引き込む設定を行う必要があります。 Libxml2ライブラリの引き込み方は以下の方法が一番簡単でした。 プロジェクトを選択して「Build Phases」の設定画面を出します。「Link Binary With Libraries」を
iOS で使える XML パーサーは色々あります。 iOS 標準で使えるものは以下の2点 Cocoa Touch フレームワークで提供されている NSXMLParser C言語のライブラリである libxml2 を直接利用 外部のライブラリでは主に以下のようなものがあります。 GDataXML KissXML TBXML XML パーサーの中でも SAX と呼ばれる少し扱いにくいが比較的高速で省メモリなもの。DOM と呼ばれる扱いやすいがメモリを多く消費しやすいものがあります。 今回は Cocoa Touch フレームワークで提供されている NSXMLParser の使い方を紹介します。 NSXMLParser は SAX タイプのパーサーで C言語のライブラリである libxml2 をラップしたクラスになります。XML パースのおおまかな流れは、インスタンスを初期化 → デリゲートを設定
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く