1

XMLファイルがあり、Objective-Cを使用して要素がその中に表示される回数を数える必要があります。これはどのようにすればよいですか?

   <?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>

等...

4

1 に答える 1

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; 

    }
}
于 2012-04-26T20:54:06.650 に答える