我是 ObjectiveC 的新手,正在尝试按照本文所述解析 XML 文件:
麻烦的是,我不明白文章在第 3 步中的意思是“创建和初始化对象的方法也将其设置为 NSXMLParser 实例的新委托”。
这需要向 MyElement 类添加一个方法,还是将代码添加到顶级对象中?
任何人都可以给出他们在这里的意思的代码示例吗?
我是 ObjectiveC 的新手,正在尝试按照本文所述解析 XML 文件:
麻烦的是,我不明白文章在第 3 步中的意思是“创建和初始化对象的方法也将其设置为 NSXMLParser 实例的新委托”。
这需要向 MyElement 类添加一个方法,还是将代码添加到顶级对象中?
任何人都可以给出他们在这里的意思的代码示例吗?
这意味着当您创建 MyElement 实例时,您将其设置为 NSXMLParser 的委托。
您需要设置将处理解析器功能的委托。
在您的 .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
填充方法的行为以实际进行解析。