【发布时间】:2015-09-07 01:29:14
【问题描述】:
我有以下代码,并想迭代模板中的主题,但对于我来说,我似乎无法摆脱它是一个嵌套容器的事实。
type ThemeList struct {
XMLName xml.Name `xml:"Themes"`
Themes []Theme `xml:"Theme"`
}
type Theme struct {
XMLName xml.Name `xml:"Theme"`
Name string `xml:"Name,attr"`
Page string `xml:"Page,attr"`
Tag string `xml:"Tag,attr"`
Day string `xml:"Day,attr"`
}
// Fetch the current XML document and return the Themelist[]
func openXML(filename string) ThemeList {
xmlFile, _ := os.Open(filename)
defer xmlFile.Close()
XMLdata, _ := ioutil.ReadAll(xmlFile)
var t ThemeList
xml.Unmarshal(XMLdata, &t)
return t
}
如何在每个主题都是单个列表项的一部分的 {{range}} 中输出这些内容?输出将使用模板中的 .Name .Tag 等等,就像我查看它们一样。
【问题讨论】:
-
也许我不需要在这里传递整个主题结构,因为它只是一个主题容器?只是因为传入 xml 的结构才需要它。