かたち開発の開発日記

2008-11-26 iPhone SDKでDOMを使う

iPhone SDKでDOMを使う

| 16:18

iPhone SDKのXMLParserは,SAXにしか対応していません.

確かに,省メモリを求めるなら,SAXでしょうけれど,小さいXMLSAXパースするのは煩わしいです.

ということで,DOMを使った方がいい場合もあるだろうと調べたところ,

Google Data APIs Objective-C Client Library

を使いました.

http://code.google.com/p/gdata-objectivec-client/wiki/GDataObjCIntroduction


GDataXMLNode.h

GDataXMLNode.m

GDataDefines.h

GDataTargetNamespace.h

XCodeのプロジェクトに追加して

プロジェクトのインスペクタを表示して

>|

リンク > 他のリンカフラグ

-lxml2
を追加
検索パス > ヘッダ検索パス
/usr/include/libxml2/**
を追加すれば,ビルドできるようになります. 使い方は,よくあるDOMAPIと同じです. こんな感じ
GDataXMLDocument *xmlDoc = [[GDataXMLDocument alloc]initWithXMLString:contents options:0 error:&err];
GDataXMLElement *rootNode = [xmlDoc rootElement];
NSArray *statusList = [rootNode elementsForName:@"status"];
GDataXMLElement *statusNode = [statusList objectAtIndex:0];