AlamofireXmlToObjects 2.1.0

AlamofireXmlToObjects 2.1.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布上次发布2016年10月
SPM支持 SPM

evermeer 维护。



 
依赖项
Alamofire>= 0
XMLDictionary>= 0
EVReflection>= 0
 

Awesome

如果您有问题并且不想创建一个问题,那么我们可以(EVReflection 是 AlamofireJsonToObjects 的基础)

使用 AlamofireXmlToObjects,从 XML 源获取并解析对象变得极其简单。无需属性映射。反射用于将值放入对应的属性中。

AlamofireXmlToObjects 依赖于以下库

  • Alamofire 是一个简洁的 Swift HTTP 网络库
  • XMLDictionary 是一种简单的解析和生成 XML 的方法。将 XML 文件转换为 NSDictionary
  • EVReflection 用于将 XML 结果解析到您的对象中

如果您有一个 JSON 服务并希望有相同的功能,那么请查看 AlamofireJsonToObjects

目前,master 分支适用于 Swift3。如果您想继续使用 Swift 2.2(或 2.3),请切换到 Swift2.2 分支。运行测试以查看 AlamofireXmlToObjects 的操作。

在自己的应用中使用 AlamofireXmlToObjects

'AlamofireXmlToObjects' 通过依赖管理器 CocoaPods 提供。

您只需将以下两行添加到 Podfile 中,即可将其添加到您的 workspace 中:

use_frameworks!
pod "AlamofireXmlToObjects"

您还必须在 Swift 文件的顶部添加一个导入,如下所示

import AlamofireXmlToObjects

样例代码

class WeatherResponse: EVObject {
    var location: String?
    var three_day_forecast: [Forecast] = [Forecast]()
}

class Forecast: EVObject {
    var day: String?
    var temperature: NSNumber?
    var conditions: String?
}

class AlamofireXmlToObjectsTests {
    func testResponseObject() {
        let URL = "https://raw.githubusercontent.com/evermeer/AlamofireXmlToObjects/master/AlamofireXmlToObjectsTests/sample_xml"
        Alamofire.request(.GET, URL, parameters: nil)
        .responseObject { (response: Result< WeatherResponse, NSError>) in
            if let result = response.value {
               // That was all... You now have a WeatherResponse object with data
            }
        }
    }
}

上述代码将解析以下 XML 到对象中

<wheather>
   <location>Toronto, Canada</location>
   <three_day_forecast>
      <forecast>
         <conditions>Partly cloudy</conditions>
         <day>Monday</day>
         <temperature>20</temperature>
      </forecast>
      <forecast>
         <conditions>Showers</conditions>
         <day>Tuesday</day>
         <temperature>22</temperature>
      </forecast>
      <forecast>
         <conditions>Sunny</conditions>
         <day>Wednesday</day>
         <temperature>28</temperature>
      </forecast>
   </three_day_forecast>
</wheather>

高级对象映射

AlamofireJsonToObjects 基于以下库: EVReflection。您可以使用 EVReflection 的所有功能,包括属性映射、转换器、验证器和键清理。有关更多信息,请参见 EVReflection

许可证

AlamofireXmlToObjects 在 MIT 3 许可证下提供。有关更多信息,请参阅 LICENSE 文件。

我的其他库

请参阅我的其他开源 iOS 库

  • EVReflection - 支持NSCoding、Printable、Hashable、Equatable和JSON的Swift库,具有反射功能
  • EVCloudKitDao - 简化对Apple CloudKit的访问
  • EVFaceTracker - 计算设备相对于你的面孔的距离和角度,以便模拟3D效果
  • EVURLCache - 用于处理所有使用NSURLRequest的网络请求的NSURLCache子类
  • AlamofireJsonToObject - Alamofire的扩展,使用EVReflection将JSON响应数据转换为Swift对象
  • AlamofireXmlToObject - Alamofire扩展,使用EVReflection和XMLDictionary将XML响应数据转换为Swift对象
  • AlamofireOauth2 - 使用Alamofire实现的OAuth2
  • EVWordPressAPI - 使用AlamofireOauth2、AlamofireXmlToObjects和EVReflection实现的WordPress (Jetpack) API (工作正在进行中)
  • PassportScanner - 扫描护照的MRZ代码,并提取姓名、姓氏、护照号码、国籍、出生日期、过期日期和人员编号