gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 05:26:30 25 4
gpt4 key购买 nike

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

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com