私はxcode開発の初心者です。私はサーバーから値をフェッチするためのWebサービス呼び出しを実装しようとしているし、テーブルビューでそれを示しています。私はいくつかのサンプルコードをネットから取得し、いくつか私はそれを動作させることができます。しかし、私はパーサーがxmlノードをどのように反復するかをまだ分かりません。 誰でもxcodeのxmlパーサの動作を知る手助けができますか?forループなしのすべてのノードをどのように通過していますか?NSXMLParserの動作方法
答えて
実は5つのデリゲートメソッドがある
1.didstartdocument
2.didstartelement
3.found文字
4.didendelement
5.didenddocument
この第1の方法文書を開始するためのものです。 2番目の方法は、任意の開始要素が見つかった場合です。開始要素にデータがある場合は、見つかった文字に移動します。それが終わったら、もう一度それが始まりました。それは何度も繰り返されています。文書が終わったら、それは終了文書に行きます。
NSXMLParserはデータを取得し、解析する際に適切な代理人を送信してデータを返します。それは基本的なXML解析を行い、デリゲートの形式でデータを送信するようないくつかのことを行います。つまり、XMLを解析するためにエンドからループする必要はありません。
私はいくつかのstage.Iで解析を中断する方法を明確にしていないあなたの迅速なresponse.But Girishありがとう私はxml Web応答の最初の行に特定のXMLノード(タグ)を満たしている場合は停止します。 –
あなたがパスリングの使用を止めたいときには " - (void)abortParsing" ... –
Jason Formatについては、私のこのブログを見てください。
とXML構文解析のための
これはどのように非常に簡単な方法でXML解析を使用する方法を紹介します。このブログ XML Parsing and Uploading data to server like imagesを読み、また行くあなたがserver.Justへデータをアップロードするのに役立ちますブログを通して。 あなたが私に投票し、それがあなたを助けたら答えを受け入れるのを忘れないでください。
これは非常に簡単です。適切なフローのために、メソッドにブレークポイントを設定し、理解するすべてのパラメータの値をチェックするだけです。まだ詳細は、ブレークポイント
[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で検出されたを置くために、これらの方法を検討しないためにパーマネントアレイ。
コードを転記する前に書式を設定してください。 – ArunGJ
ありがとうSachin、あなたの応答は私が探しているものにかなり近いです。これが私を助けるだろうと思います。 –
あなたが私の答えのレベルが好きなら、正解としてそれをチェックしてください。 – Tendulkar