iOS的轻量级XML解析库 TBXML

fmms 12年前
     <p>TBXML是一个用于iOS上的解析速度非常快的轻量级XML解析库。提供了非常简洁的接口,使用起来很简单。</p>    <p>它提供了可以通过文件路径、URL、XML文件内容、内容字符串等方式载入XML文件,提供了获取XML节点和属性值的方法,以及一个遍历节点的方法。不过TBXML只提供了读的功能。</p>    <p><strong>初始化和释放TBXML</strong></p>    <p>TBXML* tbxml =[ [[TBXML alloc] initWithXMLFile:@"file.xml"] retain];</p>    <p>一定要在后面加上retain,要不运行app时,会出现非法访问的错误。</p>    <p>使用完毕后,注意释放:</p>    <p>[tbxml release];</p>    <p><strong>使用递归方法遍历所有节点和属性的例子</strong></p>    <p></p>    <pre class="brush:cpp; toolbar: true; auto-links: false;">- (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));   }</pre>    <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1326072589953" target="_blank">http://www.open-open.com/lib/view/home/1326072589953</a></p>    <p></p>