Swift NSXElement addChild не может добавить дочерний элемент дочернему элементу

Я нахожусь в процессе изучения Swift и хочу создать XML-файл на основе пользовательского ввода. Я могу создать корень документа и один дочерний уровень, но не дочерний уровень. Я не знаю, что мне не хватает. И как мне "красиво распечатать" в моем xml?

Пример желаемого вывода XML-файла:

<find_sites>
  <name>Many Sites</name>
       <sites>8</sites>
         <site_info>
              <site_name>First Site</site_name>
              <site_description>Description of first site</site_description>
         </site_info>
</find_sites>

Мой Свифт Код на детской площадке:

let root = NSXMLElement(name: "find_sites")
let xmlFile = NSXMLDocument (rootElement: root)
root.addChild(NSXMLElement(name: "name", stringValue: "Many Sites"))
root.addChild(NSXMLElement(name: "sites", stringValue: "8"))
let site_info = NSXMLElement(name: "site_info")
root.addChild(NSXMLElement(name: "site_info"))
site_info.addChild(NSXMLElement(name: "site_name", stringValue: "First Site"))
site_info.addChild(NSXMLElement(name: "site_description", stringValue: "Description"))
println(" \(xmlFile.XMLString)")

Results:  <find_sites><name>Many Sites</name><sites>8</sites><site_info></site_info></find_sites>

Мои дочерние элементы site_info игнорируются.

1 ответ

Вы добавляете новый NSXMLElement Например, как ребенок root скорее, чем site_info, Измените строку 6 на эту:

root.addChild(site_info)
Другие вопросы по тегам