Разбор XML в Swift

Может ли кто-нибудь помочь мне, почему приведенный ниже код не работает. Я тестирую его на игровой площадке Xcode.1.

let url:NSURL! = NSURL(fileURLWithPath:"file:///Users/sss/Documents/app.xml")

var xml = NSXMLParser(contentsOfURL: url)

xml?.parse()

person appdevelopersspotlight    schedule 03.11.2014    source источник


Ответы (1)


Игровые площадки изолированы, поэтому вы не сможете просто взять файлы из любой точки вашей пользовательской папки. Вот как добавить этот файл на вашу игровую площадку, чтобы сделать его доступным:

  1. Найдите файл «.playground» в Finder.
  2. Щелкните правой кнопкой мыши и выберите «Показать содержимое пакета».
  3. Вы должны увидеть «timeline.xctimeline», «contents.xcplayground» и «section-1.swift».
  4. Создайте новую папку под названием «Ресурсы».
  5. Скопируйте «app.xml» в эту новую папку.

Теперь ваш файл будет доступен внутри песочницы. Вы можете получить его из пакета и загрузить в NSXMLParser следующим образом:

let url: NSURL! = NSBundle.mainBundle().URLForResource("app", withExtension: "xml")
var xml = NSXMLParser(contentsOfURL: url)
person Nate Cook    schedule 03.11.2014
comment
Привет, Нейт Кук, большое спасибо за вашу большую помощь. Теперь я понял, что игровая площадка — это песочница. Но можете ли вы сказать мне, почему те же 3 строки кода не работают в приложении Mac OS X. На самом деле у меня есть требование в моем приложении Mac, где я должен анализировать xml-файл, выбранный пользователем из NSOpenPanel. - person appdevelopersspotlight; 04.11.2014
comment
Пропустил ваше продолжение, извините! Если у вас все еще есть эта проблема, вы можете опубликовать новый вопрос? Я не совсем знаком с песочницей NSOpenPanel и OS X. - person Nate Cook; 17.11.2014
comment
Если при внесении этих изменений у вас открыт файл игровой площадки, не забудьте закрыть и снова открыть его, прежде чем пытаться получить доступ к файлам в папке «Ресурсы». - person n.Drake; 29.06.2015