0

我是 ObjectiveC 的新手,正在尝试按照本文所述解析 XML 文件:

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/XMLParsing/Articles/ConstructingTrees.html

麻烦的是,我不明白文章在第 3 步中的意思是“创建和初始化对象的方法也将其设置为 NSXMLParser 实例的新委托”。

这需要向 MyElement 类添加一个方法,还是将代码添加到顶级对象中?

任何人都可以给出他们在这里的意思的代码示例吗?

4

2 回答 2

0

这意味着当您创建 MyElement 实例时,您将其设置为 NSXMLParser 的委托。

于 2014-04-01T21:56:19.733 回答
0

您需要设置将处理解析器功能的委托。

在您的 .h 文件中:

@interface MyParser : NSObject <NSXMLParserDelegate>

在您的 .m 文件中:

NSXMLParser *parser = [[NSXMLParser alloc] initWithData:dataToParse];
[parser setDelegate:self];

这会将您的文件链接到解析器,并期望您的类具有处理解析工作的所有方法:

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

填充方法的行为以实际进行解析。

于 2014-04-01T22:04:34.817 回答