是否可以在 Swift 2.2 中使用使用 Alamofire 的 Soap API

Posted

技术标签:

【中文标题】是否可以在 Swift 2.2 中使用使用 Alamofire 的 Soap API【英文标题】:Is it possible to use Soap API using Almofire in Swift 2.2 【发布时间】:2016-08-25 08:09:19 【问题描述】:

我在我的 ios 应用程序中同时使用 Rest 和 Soap API。对于 Rest API,我可以轻松地将 Alamofire 用于 POST 和 GET 方法。但是在 SOAP 的情况下,我无法处理 XML 响应。

【问题讨论】:

【参考方案1】:

使用易于解析的 Alamofire 和 SWXMLHash 库解析 SOAP API:-

斯威夫特 2.2

//MARK:- Parsing API here
 func parseMyApi(is_URL: String, completion: (result: String) -> Void) 

   Alamofire.request(.GET, is_URL)
            .responseJSON  response in
                    let xmls = SWXMLHash.parse(response.data!)
                    func enumerate(indexer: XMLIndexer, level: Int) 
                        for child in indexer.children 
                            let name:String? = child.element!.name
                            print("\(level) \(name)")
                            // Take Link from XML data here 
                            if name! == "link" 
                                let text = child.element!.text
                                if text?.isEmpty == false
                                   print(text)
                                  // Finish here Process
                                  completion(result: text!)
                                
                            
                            enumerate(child, level: level + 1)
                        
                    
                enumerate(xmls, level: 0)
            
       

您还可以看到this example 也用于 Soap 解析。

【讨论】:

以上是关于是否可以在 Swift 2.2 中使用使用 Alamofire 的 Soap API的主要内容,如果未能解决你的问题,请参考以下文章

CocoaPods 在 Xcode 7 Swift 2.2 中没有这样的模块

如何在 swift4 中使用 Rxalamofire 发送 URL 请求

在 Alamofire Swift 2.2 中使用 completionHandler

ALA 资产组名称

如何使用 Swift 2.2 中的 ResearchKit 在自定义活动步骤中禁用下一个按钮?

使用 Alamofire 3.0+ 在 swift 2.2 中使用 JSON 对象发送 POST 请求