是否可以在 Swift 2.2 中使用 Soap API 使用 Alamofire
Is it possible to use Soap API using Almofire in Swift 2.2
我在我的 iOS 应用程序中同时使用 Rest 和 Soap API。对于 Rest API 我可以轻松地将 Alamofire 用于 POST 和 GET 方法。但是在 SOAP 的情况下,我无法处理 XML 响应。
解析 SOAP API 使用易于解析的 Alamofire 和 SWXMLHash 库:-
Swift 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 解析。
我在我的 iOS 应用程序中同时使用 Rest 和 Soap API。对于 Rest API 我可以轻松地将 Alamofire 用于 POST 和 GET 方法。但是在 SOAP 的情况下,我无法处理 XML 响应。
解析 SOAP API 使用易于解析的 Alamofire 和 SWXMLHash 库:-
Swift 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 解析。