#xml #swift
#xml #swift
Вопрос:
Итак, у меня есть следующий XML-файл здесь, из которого я хочу получить информацию и отобразить ее в своем приложении.
Я создал следующий код:
class Parsexml: NSObject {
var address: String?
var category: String?
var city: String?
var name: String?
override init()
{
}
init(address: String, category: String, city: String, name: String){
self.address = address
self.category = category
self.city = city
self.name = name
}
override var description: String {
return "address: (address), category: (category), city: (city), name: (name)"
}
}
protocol HomeModelProtocal: class {
func itemsdownloaded(items:NSArray)
}
class HomeModel: NSObject, URLSessionDataDelegate {
weak var delegate: HomeModelProtocal!
var data: NSMutableData = NSMutableData()
let urlpath: String = "http://bkrt.dk/api/place"
}
Пока что это соответствует без ошибок, и я попытался выполнить простой вызов моего класса и заставить его печатать в консоли, чтобы посмотреть, получаю ли я какие-либо значения из моего xml.
Однако все мои конструкторы равны нулю.
Чего мне не хватает?
Ответ №1:
Это файл json, а не xml. Вы могли бы сделать что-то вроде этого:
if let data = NSData(contentsOfURL: NSURL(string: "http://www.bkrt.dk/api/place")!) {
let json = try NSJSONSerialization.JSONObjectWithData(data, options:.AllowFragments)
if let items = json as? [AnyObject] {
for item in items {
print(item)
// init ur object
}
}
}
Также вы могли бы использовать стороннюю библиотеку для синтаксического анализа json.
Комментарии:
1. Хотя вы правы. Но я изменил вывод в моем веб-отеле на Json, потому что я не мог заставить swift отправлять запрос на возврат с веб-сайта в формате json.