微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Fuzi XML/HTML 解析器

程序名称:Fuzi

授权协议: MIT

操作系统: OS X

开发语言: Swift

Fuzi 介绍

Swift实现的轻量快速的 XML/HTML 解析器。

Mattt Thompson大神的 Ono (斧)
是iOS/OSX平台上非常好用的一个XML/HTML
解析库。用ObjectiveC实现的Ono在Swift的应用里虽然可以使用,却有诸多不便。因此鄙人参照了Ono对libxml2的封装方式,对类和方法进行了重新设计弄出了这个小库。同时修正了Ono存在的一些逻辑上和内存管理方面的bug。

中文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)
}

Fuzi 官网

https://github.com/cezheng/Fuzi

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐