2012-04-26 10 views
1

私はXMLファイルを持っており、Objective-Cを使用して要素が何回出現するかを数え上げる必要があります。私はこれをどのようにするべきですか?目的のcを使用してxmlの要素をカウントする

<?xml version="1.0" encoding="ISO-8859-1"?> 

<residents> 
    <resident id="1"> 
     <name> 
      <first>David</first> 
      <last>Dollar</last> 
     </name> 
    </resident> 

    <resident id="2"> 
     <name> 
      <first>Michael</first> 
      <last>Nipp</last> 
     </name> 
    </resident> 

等...

+1

xmlリーダーは何を使用していますか? – Manuel

+0

NSXMLParserを使用しています。 要素が表示される回数をカウントするコードが必要です。 –

+0

申し訳ありません私はTBXMLが理解して作業するのがはるかに簡単だと分かったので、実際にはNSXMLParserを使ったことはありませんでした。 – Manuel

答えて

1

私はパーサのデリゲートとしてクラスを設定しますが、その後、このクラスでは、このようなparser:didStartElement:parser:foundCharacters:parser:didEndElement:として解析イベントを受け取ります。

self.parser = [[NSXMLParser alloc] initWithData:xmlData]; 
[self.parser setDelegate:self]; 
[self.parser parse]; 

パーサーデリゲートにカウント変数を作成します。要素が見つかるたびに、didStartElement:関数がパーサーデリゲートで呼び出されます。 「常駐」要素であるかどうかをチェックし、そうであればカウントをインクリメントします。

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

    if ([elementName isEqualToString:@"resident"]) { 

     self.count += 1; 

    } 
} 
+0

私はこれで非常に新しいですが、これは愚かな質問かもしれませんが....どこにコードを置くのですか?すなわち、 self.parser = [[NSXMLParser alloc] ... –

+0

ビューコントローラにコードを挿入すると、初期化はviewDidLoadメソッドで実行されます。 –

関連する問題