TBXML是一个用于iOS上的解析速度非常快的轻量级XML解析库。提供了非常简洁的接口,使用起来很简单。
它提供了可以通过文件路径、URL、XML文件内容、内容字符串等方式载入XML文件,提供了获取XML节点和属性值的方法,以及一个遍历节点的方法。不过TBXML只提供了读的功能。
初始化和释放TBXML
TBXML* tbxml =[ [[TBXML alloc] initWithXMLFile:@”file.xml”] retain];
一定要在后面加上retain,要不运行app时,会出现非法访问的错误。
使用完毕后,注意释放:
[tbxml release];
使用递归方法遍历所有节点和属性的例子
- (void) traverseElement:(TBXMLElement *)element {
do { // 显示XML元素名称 NSLog(@”%@”,[TBXML elementName:element]);
// 获取到当前节点的第一个属性 TBXMLAttribute * attribute = element->firstAttribute;
// if attribute is valid while (attribute) { // 在log窗口中显示属性的名称和值 NSLog(@”%@->%@ = %@”,[TBXML elementName:element],[TBXML attributeName:attribute], [TBXML attributeValue:attribute]);
// 获取下一个属性 attribute = attribute->next; }
// 递归遍历下一个子元素 if (element->firstChild) [self traverseElement:element->firstChild];
// 获取同级元素 } while ((element = element->nextSibling)); }