gpt4 book ai didi

xml - Swift NSXML 需要循环来创建多个子项

转载 作者:行者123 更新时间:2023-11-30 10:19:21 25 4
gpt4 key购买 nike

我正在使用 Swift/cocoa 创建一个将输出 XML 文件的用户输入表单。 (以上所有内容均为初学者。)

用户将添加多个目标,但在尝试创建多个“目标”时出现错误。

流程是:用户输入他们想要创建的目标数量(7,8.或9)。每个目标都有用户输入的信息,因此有“x”个目标。我使用 for 循环,但在尝试创建下一个目标时出现错误。下面是我在 Playground 上的代码。

(如果我取消注释//expedition.addChild(target),我会收到错误。)

如何创建这些多个目标子项?

let root = NSXMLElement(name: "exploration_game")
let xmlFile = NSXMLDocument (rootElement: root)
let expedition = NSXMLElement(name: "expedition")
root.addChild(expedition)
expedition.addChild(NSXMLElement(name: "name", stringValue: ""))
expedition.addChild(NSXMLElement(name: "targets", stringValue: ""))
expedition.addChild(NSXMLElement(name: "difficulty", stringValue: ""))
expedition.addChild(NSXMLElement(name: "factoid", stringValue: ""))
expedition.addChild(NSXMLElement(name: "factoid_file", stringValue: ""))
let target = NSXMLElement(name: "target")
expedition.addChild(target)

for index in 1...3{
//expedition.addChild(target)

target.addChild(NSXMLElement(name: "target_title_en", stringValue: ""))
target.addChild(NSXMLElement(name: "target_title_sp", stringValue: ""))
target.addChild(NSXMLElement(name: "target_hint_en", stringValue: ""))
target.addChild(NSXMLElement(name: "target_hint_sp", stringValue: ""))
target.addChild(NSXMLElement(name: "target_description_en", stringValue: ""))
target.addChild(NSXMLElement(name: "target_descriptionsp", stringValue: ""))
target.addChild(NSXMLElement(name: "x", stringValue: ""))
target.addChild(NSXMLElement(name: "y", stringValue: ""))
target.addChild(NSXMLElement(name: "target_icon", stringValue: ""))
target.addChild(NSXMLElement(name: "target_somethin", stringValue: ""))

}

非常感谢您的帮助。

最佳答案

您没有在循环中创建新目标。显然,如果您想向一次探险添加多个目标,则需要为每次迭代创建一个新目标。

// set up expedition
for _ in 1...3 {
var target = NSXMLElement(name: "target")
// configure target
expedition.addChild(target)
}

关于xml - Swift NSXML 需要循环来创建多个子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28130593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com