XMLPullitic 3.0.0

XMLPullitic 3.0.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布时间最后发布2019年10月
SPM支持SPM

Hironori Ichimiya维护。



  • Hironori Ichimiya

XMLPullitic

CI Status Version License Platform Carthage compatible

Swift XML解析器

用法

let xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><foo>Hello World!</foo>"
if let parser = XMLPullParser(string: xml) {
    do {
        parsing: while true {
            switch try parser.next() {
            case .startDocument:
                print("start document")
            case .startElement(let name, _, _):
                print("start element: \(name)")
            case .characters(let text):
                print("text: \(text)")
            case .endElement(let name, _):
                print("end element: \(name)")
            case .endDocument:
                print("end document")
                break parsing
            }
        }
    } catch let error {
        print("error: \(error)")
    }
}

利用Swift的模式匹配特性,您可以轻松处理元素的开始部分,如下所示

let event = try parser.next()
switch event {
case .startElement("foo", _, _):
    // handle start of <foo>
    print("foo: \(event)")
case .startElement("bar", _, _):
    // handle start of <bar>
    print("bar: \(event)")
case .startElement("baz", "http://example.com/ns/1.0"?, let element):
    // handle start of <baz>, whose namespace URI is http://example.com/ns/1.0
    // note: you must set parser.shouldProcessNamespaces true to handle namespaces
  
    // you can get attributes from XmlElement object
    print(element.attributes["xyz"])
case .startElement(_, _, _):
    // handle start of other elements
    print("other: \(event)")
default:
    break
}

需求

  • iOS 8.0+
  • tvOS 9.0+
  • Swift 5.1+

安装

CocoaPods

XMLPullitic 可通过 CocoaPods 获取。安装它,只需将以下行添加到您的 Podfile 文件中

use_frameworks!
pod "XMLPullitic", '~> 3.0'

Carthage

XMLPullitic 可通过 Carthage 获取。安装它,只需将以下行添加到您的 Cartfile 文件中

github "hironytic/XMLPullitic" ~> 3.0

作者

Ichimiya Hironori,[email protected]

许可

XMLPullitic 在 MIT 许可下提供。更多信息请参阅 LICENSE 文件。