gpt4 book ai didi

ios - Swift - 创建解析嵌套 xml 问题

转载 作者:行者123 更新时间:2023-11-30 12:56:55 25 4
gpt4 key购买 nike

我正在尝试解析 XML 并希望在 TableView 中显示数据。如果XML中有4个ListSections标签,那么 TableView 将有4个部分,每个部分将根据数据显示行。每个 ListSection 标签都有多个 Team 标签。我想根据部分按行显示这些团队。

这是我的 XML 结构。

 <List>
<ListSection sectionName="section 1">
<Team id="10" name="Team1">
<OppositeTeam oppName="TeamX" day="Monday"/>
</Team>
<Team id="20" name="Team2">
<OppositeTeam oppName="TeamY" day="Tuesday"/>
</Team>
</ListSection>
<ListSection sectionName="section 2">
<Team id="100" name="Team100">
<OppositeTeam oppName="TeamA" day="Monday"/>
</Team>
<Team id="200" name="Team200">
<OppositeTeam oppName="TeamB" day="Monday"/>
</Team>
</ListSection>
</List>

我正在尝试为此 xml 创建模型类。到目前为止我已经创建了 2 个类(class)。

class ListSection {
var sectionName: String = String()
var team : [Team] = []
}

class Team {
var teamId:String = String()
var teamName:String = String()
}

我不确定我创建的这个数据模型。如果我的方向正确或错误,有人可以建议我吗?

提前致谢。

更新:这是我的 Swift 解析代码。我无法将数据保存在正确的对象中。

var listSection: [ListSection] = []
var teamArray : [Team] = []
var teamData = NSMutableArray()

var sectionName = String()
var teamName = String()

var listSectionObj = ListSection()

func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) {

if elementName == "ListSection" {
listSectionObj = ListSection()
listSectionObj.sectionName = ""
listSectionObj.team = []
if let sectionName = attributeDict["sectionName"] as String? {
self. sectionName = sectionName
}
}else if elementName == "Team" {
if let teamName = attributeDict["TeamName"] as String? {
self.teamName = teamName
}
}
}


func parser(parser: NSXMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?) {
if elementName == "ListSection" {

listSectionObj.sectionName = sectionName
listSection.append(listSectionObj)
}else if elementName == "Team" {
teamObj = Team()
teamObj.teamName = teamName
teamArray.append(teamObj)
print("teamArray = \(teamArray)")
}
}

最佳答案

我不确定您无法在对象中保存数据是什么意思,但如果您想存储自定义对象,我强烈建议您研究一下:http://nshipster.com/nscoding/

此外,根据 XML 结构,您的数据结构似乎不错。

关于ios - Swift - 创建解析嵌套 xml 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40312849/

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