系统xml解析

前端之家收集整理的这篇文章主要介绍了系统xml解析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转载自:点击打开链接

  1. @NSXMLParser 实现的是 SAX 方法解析xml文件,只在xml文档中查找特定条件的内容,并且只提取需要的内容。这样做占用内存小,灵活,正好满足我们的需求。他的缺点就是写,遇到标签就读.
  2. 1.创建NSXMLParser
  3. 要使用NSXMLParser要先创建它,设置各种属性,主要用到以下几个方法
  4. initWithContentsOfURL 通过NSURL创建解析器
  5. initWithData 通过NSData创建解析器
  6. setDelegate 为解析器定义委托
  7. parse 运行解析器
  8. [objc] view plaincopyCODE上查看代码片派生到我的代码
  9. NSData * xmlData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Student" ofType:@"txt"]];
  10. NSXMLParser * xmlParser = [[NSXMLParser alloc]initWithData:xmlData];
  11. xmlParser.delegate = self;
  12. [xmlParser parse];
  13. [xmlParser release];
  14.  
  15. 2.实现协议方法
  16. [objc] view plaincopyCODE上查看代码片派生到我的代码
  17. // 开始解析
  18. - (void)parserDidStartDocument:(NSXMLParser *)parser{
  19. NSLOG_FUNCTION;
  20. }
  21. //解析到某个起始标签
  22. - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
  23. NSLog(@"%@",elementName);
  24. NSLOG_FUNCTION;
  25. }
  26. //解析到节点的值
  27. - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
  28. NSLOG_FUNCTION;
  29. NSLog(@"%@",string);
  30. }
  31. //解析到某个结束标签
  32. - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
  33. NSLog(@"%@",elementName);
  34. NSLOG_FUNCTION;
  35. }
  36. //结束解析
  37. - (void)parserDidEndDocument:(NSXMLParser *)parser{
  38. NSLOG_FUNCTION;

猜你在找的XML相关文章