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

如何在Swift中解析XML Web服务?,第1张

概述我不知道如何在下面的代码解析.. 有人可以 func callService(usr: String, pwdCode: String) { let url = NSURL(string: "http://inspect.dev.cbre.eu/SyncServices/api/jobmanagement/PlusContactAuthenticationPost") var x 我不知道如何在下面的代码解析..
有人可以
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()}
您应该在请求的完成处理程序中使用NSXMLParser:
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {    (data,error) in    if data == nil {        println("dataTaskWithRequest error: \(error)")        return    }    let parser = NSXMLParser(data: data)    parser.delegate = self    parser.parse()    // you can Now check the value of the `success` variable here}task.resume()// but obvIoUsly don't try to use it here here

显然,上述假定您(a)定义了您的视图控制器以符合NSXMLParserDelegate和(b)已实现NSXMLParserDelegate方法,例如就像是:

var elementValue: String?var success = falsefunc parser(parser: NSXMLParser,dIDStartElement elementname: String,namespaceURI: String?,qualifIEdname qname: String?,attributes attributeDict: [NSObject : AnyObject]) {    if elementname == "success" {        elementValue = String()    }}func parser(parser: NSXMLParser,foundCharacters string: String?) {    if elementValue != nil {        elementValue! += string    }}func parser(parser: NSXMLParser,dIDEndElement elementname: String,qualifIEdname qname: String?) {    if elementname == "success" {        if elementValue == "true" {            success = true        }        elementValue = nil    }}func parser(parser: NSXMLParser,parseErrorOccurred parseError: NSError) {    println("parseErrorOccurred: \(parseError)")}
总结

以上是内存溢出为你收集整理的如何在Swift中解析XML Web服务?全部内容,希望文章能够帮你解决如何在Swift中解析XML Web服务?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1028511.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存