在模板上迭代 golang 中的嵌套结构

我有以下代码,并想遍历模板中的主题,但对于我的生活,我似乎无法摆脱它是嵌套容器的事实。


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 等等,就像我看它们一样。


倚天杖
浏览 153回答 1
1回答

守候你守候我

使用以下模板:<ul>{{range .Themes}}&nbsp; <li>{{.Name}} {{.Tag}}{{end}}</ul>并使用 data 参数作为*ThemeList.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go