| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
cezheng
9年前发布

Swift 2.0 轻量快速的XML/HTML解析器Fuzi

iOS下的NSXMLParser易用性较差,而且效率也偏低。因此Matt Thompson大神曾经用Objective-C写了一个叫Ono的解析器,封装了libxml2,从易用性和执行方便都远优于NSXMLParser。用Objective-C实现的Ono在Swift的应用里虽然可以使用,却有诸多不便。因此鄙人参照了Ono对libxml2的封装方式,对类和方法进行了重新设计弄出了这个小库。同时修正了Ono存在的一些逻辑上和内存管理方面的bug。

项目地址: https://github.com/cezheng/Fuzi

详情请见中文README: https://github.com/cezheng/Fuzi/blob/master/README-zh.md

例子
let xml = "..."  do {    let document = try XMLDocument(string: xml)      if let root = document.root {      // Accessing all child nodes of root element      for element in root.children {        print("\(element.tag): \(element.attributes)")      }        // Getting child element by tag & accessing attributes      if let length = root.firstChild(tag:"Length", inNamespace: "dc") {        print(length["unit"])     // `unit` attribute        print(length.attributes)  // all attributes      }    }      // XPath & CSS queries    for element in document.xpath("") {      print("\(element.tag): \(element.attributes)")    }      if let firstLink = document.firstChild(css: "a, link") {      print(firstLink["href"])    }  } catch let error {    print(error)  }

支持CocoaPods或者Carthage等包管理器

CoacoaPods
pod 'Fuzi', '~> 0.1.0'

Carthage
github "cezheng/Fuzi" ~> 0.1.0

 本文由用户 cezheng 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1442587642415.html
XML HTML Swift IOS 开源 Apple Swift开发 Github