2011-07-14 11 views
1

私の要件はXMLファイルを解析し、ipad.Butで表示します。このXMLファイルを解析する方法は完全に混乱していました。私はxml解析の初心者です。親切にそれのための配列を作成する方法とipadで表示する方法を助けてください。雑誌のニュースアプリケーション、任意のソースコードまたはサンプルのアプリケーションは私を助けるかもしれません。IpadのXML解析の疑問

答えて

2

iOSには、NSXMLParserというXML解析クラスが組み込まれています。 initパラメータの場合、通常はウェブサービスから返されるデータであるNSDataが必要です。デリゲートとして自分自身を割り当て、[parser parse]と呼ぶと、要素に遭遇したとき、デリゲートを終了したときにデリゲートを呼び出します。parserとそのdelegate protocolのドキュメントを参照してください。

あなたがXMLの構造を制御している場合、私はそれがこのような構造だとき、それが簡単に見つけた:

<Element attr1='value1' attr2='value2' /> 

の代わり:

<Element> 
    <attr1>value1</attr1> 
    <attr2>value2</attr2> 
</Element> 

理由はコールバックということです要素が見つかった場合は:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
    namespaceURI:(NSString *)namespaceURI 
    qualifiedName:(NSString *)qualifiedName 
    attributes:(NSDictionary *)attributeDict 

ここで、attributesはtの辞書です。上記の例では、[attributes objectForKey:@"attr1"]は最初の方法で構造化されていれば "value1"を返します。それが第2の方法であれば、特に要素内に要素があるなど、多くの状態管理を行うことになります。

NSXMLParserに加えて、全てを自分自身で処理したり、組み込みのパーサをラップしたりします。私はそれの前に自分のラッパーを書いた。件名に関する投稿はhereを参照してください(このリンクのためにthis questionがあります)。

+0

thankzz http://listlinkz.com/xml/1.php.thisはipad.iで行う必要があるリンクです。これらのコンポーネントを配列に分割することはできません – Nipin