iPhone上的NSXMLParser,我如何使用它给一个XML文件(newb在这里:\)

嘿家伙,想知道我如何使用NSXML分析器。 所以让我们说给我有一个简单的XML文件像1/1/1000 14:15:16元素

我怎样才能使用NSXMLParser来parsingXML文件(它在本地btw,桌面上),检查每个元素,并将它们中的每一个存储在数组中,以便以后显示/使用?

我正在通过一些关于它的文档,我绝对不知道如何使用parsing器我知道有3种方法(或更多,请纠正我,如果我错了),可以被重写 – ..等didStartElement – .. etcEndElement – .. etc foundCharacters

最简单的事情就是做这样的事情:

NSXMLParser *xmlParser = [[NSXMLParser alloc]initWithData:<yourNSData>]; [xmlParser setDelegate:self]; [xmlParser parse]; 

请注意,setDelegate:将委托设置为“self”,即当前对象。 所以,在这个对象中,你需要实现你在问题中提到的委托方法。

所以进一步在你的代码中,粘贴:

  - (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict{ NSLog(@"I just found a start tag for %@",elementName); if ([elementName isEqualToString:@"employee"]){ // then the parser has just seen an <employee> opening tag } } - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{ NSLog(@"the parser just found this text in a tag:%@",string); } 

等等

当你想做一些variables来设置某个标签的值时,有点难度,但通常是使用类variablescaleld来完成的,比如“ BOOL inEmployeeTag ”,在didStartElement :方法中设置为true(YES)在didEndElement :方法中为false,然后在foundCharacters方法中检查它的值。 如果是的话,那么你把var分配给string的值,如果不是的话,你不会。

理查德