xml - 如何在 Swift 中解析 XML Web 服务?

标签 xml swift nsxmlparser

我不知道如何在我的下面的代码中解析.. 有人可以

func callService(usr: String, pwdCode: String) {

    let url = NSURL(string: "http://inspect.dev.cbre.eu/SyncServices/api/jobmanagement/PlusContactAuthenticationPost")
    var xmlParse:NSString  = ""
    var data : NSData!
    let request = NSMutableURLRequest(URL: url!)
    request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
     request.HTTPMethod = "POST"
    let dictionary = ["email": usr, "userPwd": pwdCode]
    var error: NSError?
    if let body = NSJSONSerialization.dataWithJSONObject(dictionary, options: nil, error: &error) {
        request.HTTPBody = body
    } else {
        println("JSON error: \(error)")
    }

    let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
        (data, response, error) in
        println(NSString(data: data, encoding: NSUTF8StringEncoding))

        // xmlParse=NSString(data: data, encoding: NSUTF8StringEncoding)!
        // let data = (xmlParse as NSString).dataUsingEncoding(NSUTF8StringEncoding)
        // NSXMLParser(data : NSData)

        // xmlParse=NSString(data: data, encoding: NSUTF8StringEncoding)!
        // xmlParse=response
        // println(xmlParse)
    }
    task.resume()

}

最佳答案

对于仍在寻找的任何人,这里是我使用的代码,它非常有效地将 xml 响应转换为字典/数组,感谢 SWXMLHash类...

更新的 SWIFT 2.0

    let baseUrl = "http://www.example.com/file.xml"
    let request = NSMutableURLRequest(URL: NSURL(string: baseUrl)!)
    let session = NSURLSession.sharedSession()
    request.HTTPMethod = "GET"

    var err: NSError?

    let task = session.dataTaskWithRequest(request) {
        (data, response, error) in

        if data == nil {
            print("dataTaskWithRequest error: \(error)")
            return
        }

        let xml = SWXMLHash.parse(data)

        if let definition = xml["entry_list"]["entry"][0]["def"].element?.text {
            // ...
        }

        dispatch_async(dispatch_get_main_queue(),{
            // use main thread for UI updates
        })

    }
    task.resume()

关于xml - 如何在 Swift 中解析 XML Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27086989/

相关文章:

ios - SKScene 呈现场景转换不适用于 Swift 中的 SpriteKit 场景

ios - NSXMLParser 问题

java - 使用android XmlPullParser解析XML文件的性能问题

android - style.xml 和 theme.xml android studio 之间的区别?

ios - Google 自动完成地点国家/地区过滤器在 iOS 中不起作用

swift - 在 macOS SwiftUI TextEditor 中显示行号

iphone - NSXMLParser iPhone 问题

iphone - NSObject子类中的NSXMLParser切换线程

java - Eclipse Checkstyle插件(eclipse-cs)错误属性尚未设置

java - 查找结束 XML 标记