2015-07-20 82 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