SwiftXML

Platforms Build Issues Language License KK25

Swift 4 中进行轻量级 XML 解析。无需 Foundation 框架。无任何依赖。

SwiftXML 是一个事件驱动的 XML 解析器,旨在替代 Foundation 框架的 NSXMLParser 类。SwiftXML 可以在 Linux 上运行。SwiftXML 不做任何封装。它直接解析 XML,逐字符解析。并且 API 简单易用。

protocol XMLParser
{
    mutating
    func handle_data(data:[Unicode.Scalar])
    mutating
    func handle_tag_start(name:String, attributes:[String: String])
    mutating
    func handle_tag_empty(name:String, attributes:[String: String])
    mutating
    func handle_tag_end(name:String)
    mutating
    func handle_processing_instruction(target:String, data:[Unicode.Scalar])
    mutating
    func handle_error(_ message:String, line:Int, column:Int)
}

extension XMLParser
{
    mutating
    func parse(_ str:String)

    mutating
    func parse(path:String)
}

使用以下方式导入包

import XML

支持的 XML 功能特性

SwiftXML 会将您的 XML 字符串标记化为标签和数据。它不会构建任何树状结构。

请参阅 tests.swift 文件以获取使用示例。