有人可以
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服务?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)