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>

ETC...

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 回答