加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML的解析方式

发布时间:2020-12-16 05:54:50 所属栏目:百科 来源:网络整理
导读:XML的解析方式 SAX 大小文件都可以 NSXMLParser DOM 最好是小文件 GDataXML NSXMLParser的用法 创建解析器来解析 // 创建XML解析器 NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data]; // 设置代理 parser. delegate = self ; // 开始解析XML(

XML的解析方式

  • SAX
    • 大小文件都可以
    • NSXMLParser
  • DOM
    • 最好是小文件
    • GDataXML

NSXMLParser的用法

  • 创建解析器来解析
// 创建XML解析器
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];

// 设置代理
parser.delegate = self;

// 开始解析XML(parse方法是阻塞式的)
[parser parse];
  • 代理对象要遵守NSXMLParserDelegate协议,实现代理方法
/** * 解析到某个元素的结尾(比如解析</videos>) */
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{

}

/** * 解析到某个元素的开头(比如解析<videos>) */
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{

}

/** * 开始解析XML文档 */
- (void)parserDidStartDocument:(NSXMLParser *)parser
{

}

/** * 解析完毕 */
- (void)parserDidEndDocument:(NSXMLParser *)parser
{

}

GDataXML

  • 配置
  • 具体用法
// 加载整个文档
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil];

// 获得根节点
doc.rootElement;

// 获得其他节点
[element elementsForName:@"video"];

// 获得节点的属性
[element attributeForName:@"name"].stringValue;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读