2011-08-04 6 views
0

私はxcode開発の初心者です。私はサーバーから値をフェッチするためのWebサービス呼び出しを実装しようとしているし、テーブルビューでそれを示しています。私はいくつかのサンプルコードをネットから取得し、いくつか私はそれを動作させることができます。しかし、私はパーサーがxmlノードをどのように反復するかをまだ分かりません。 誰でもxcodeのxmlパーサの動作を知る手助けができますか?forループなしのすべてのノードをどのように通過していますかNSXMLParserの動作方法

答えて

2

実は5つのデリゲートメソッドがある

1.didstartdocument

2.didstartelement

3.found文字

4.didendelement

5.didenddocument

この第1の方法文書を開始するためのものです。 2番目の方法は、任意の開始要素が見つかった場合です。開始要素にデータがある場合は、見つかった文字に移動します。それが終わったら、もう一度それが始まりました。それは何度も繰り返されています。文書が終わったら、それは終了文書に行きます。

+0

ありがとうSachin、あなたの応答は私が探しているものにかなり近いです。これが私を助けるだろうと思います。 –

+0

あなたが私の答えのレベルが好きなら、正解としてそ​​れをチェックしてください。 – Tendulkar

0

NSXMLParserはデータを取得し、解析する際に適切な代理人を送信してデータを返します。それは基本的なXML解析を行い、デリゲートの形式でデータを送信するようないくつかのことを行います。つまり、XMLを解析するためにエンドからループする必要はありません。

+0

私はいくつかのstage.Iで解析を中断する方法を明確にしていないあなたの迅速なresponse.But Girishありがとう私はxml Web応答の最初の行に特定のXMLノード(タグ)を満たしている場合は停止します。 –

+0

あなたがパスリングの使用を止めたいときには " - (void)abortParsing" ... –

0

Jason Formatについては、私のこのブログを見てください。

Jason Parsing

とXML構文解析のための

これはどのように非常に簡単な方法でXML解析を使用する方法を紹介します。このブログ XML Parsing and Uploading data to server like images

を読み、また行くあなたがserver.Justへデータをアップロードするのに役立ちますブログを通して。 あなたが私に投票し、それがあなたを助けたら答えを受け入れるのを忘れないでください。

0

これは非常に簡単です。適切なフローのために、メソッドにブレークポイントを設定し、理解するすべてのパラメータの値をチェックするだけです。まだ詳細は、ブレークポイント

[self parseXMLFileAtURL:path]; 

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

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 

あなたの要素は、あなたが値を保存するオブジェクトへのメモリを割り当て、そしてdidEndElementにあなたがあなたの中に保存した値を持つdidStartElementで検出されたを置くために、これらの方法を検討しないためにパーマネントアレイ。

+0

コードを転記する前に書式を設定してください。 – ArunGJ