2015-07-20 71 views
2

我刚刚开始涉足Swift。在Swift中解析XML请求

我使用NSURLSession以下GET请求:

let url = NSURL(string: "http://api.bart.gov/api/sched.aspx?cmd=arrive&orig=24th&dest=rock&key=MW9S-E7SL-26DU-VV8V") 

let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in 

     println(NSString(data: data, encoding: NSUTF8StringEncoding)) 

      } 

    task.resume() 

但是,这些数据是所有XML混乱的。如何以可读的方式去格式化数据?

我试图解析使用这行代码中的数据:

let xml = SWXMLHash.parse(data: data) 

然而,这是给我有关无法使用data错误。我用SWXMLHash.Parse函数向正确的方向发展?

+2

你应该看看SwiftyJSON序列化JSON的响应。 – pbush25

+0

@ pbush25这是我到目前为止: 让json = JSON(NSString(data:data,encoding:NSUTF8StringEncoding))) 但是,它不是编译。任何想法? – jipot

+0

或'NSJSONSerialization'。但'SWXMLHash'听起来像是一个XML解析器,而XML则是完全不同的东西。你有JSON或XML吗? – Rob

回答

2

parse方法的语法不data:标签:

let xml = SWXMLHash.parse(data) 
+0

嗨@Rob你能说我应该把“let xml = SWXMLHash.parse(data)”代码放在哪里?因为我被困在使用SWXMLHash来解析xml url – anonymox

+0

@anonymox推测在你的'dataTaskWithURL'完成块(当然,你已经确认'data'不是'nil')。 – Rob

+0

但它不解析XML数据,我没有得到任何结果。这是我的代码:我感谢你的帮助, let url = NSURL(string:“http://razavitv.aqr.ir/index/rss/2”) let task = NSURLSession.sharedSession()。dataTaskWithURL URL!){(数据,响应误差) VAR XML = SWXMLHash.parse(数据!) 令计数= XML [ “信道”。all.count } task.resume() – anonymox