在结构中使用重复的字段名称来生成 XML 站点地图
Use duplicate field names in struct to generate XML sitemap
我正在用 Go 构建站点地图生成器。我想生成以下 URL 结构以适应 Google 站点地图结构。
<url>
<loc>https://www.website.nl/nl/over-ons</loc>
<xhtml:link rel="alternate" href="https://www.website.nl/nl/over-ons" hreflang="nl"/>
<xhtml:link rel="alternate" href="https://www.website.nl/en/about-us" hreflang="en"/>
<xhtml:link rel="alternate" href="https://www.website.nl/de/uber-uns" hreflang="de"/>
<changefreq>daily</changefreq>
<priority>0.7</priority>
<lastmod>2020-12-05T03:59:58+01:00</lastmod>
</url>
因此我创建了以下结构:
type Url struct {
Loc string `xml:"loc"`
Link Link `xml:"link"`
Changefreq string `xml:"changefreq"`
Priority string `xml:"priority"`
Lastmod string `xml:"lastmod"`
}
type Link struct {
Rel string `xml:"rel,attr,omitempty"`
Href string `xml:"href,attr"`
Hreflang string `xml:"hreflang,attr"`
}
我不知道如何处理 link 字段。可以帮助解决以下问题吗?
- 如何在结构中添加三次相同的“link”字段?
- 如何命名字段“xhtml:link”,我在名称中的 : 上遇到错误?
如果您想添加多个 Link 条目,只需为此使用一个数组:
Link []Link `xml:"xhtml:link"`
我正在用 Go 构建站点地图生成器。我想生成以下 URL 结构以适应 Google 站点地图结构。
<url>
<loc>https://www.website.nl/nl/over-ons</loc>
<xhtml:link rel="alternate" href="https://www.website.nl/nl/over-ons" hreflang="nl"/>
<xhtml:link rel="alternate" href="https://www.website.nl/en/about-us" hreflang="en"/>
<xhtml:link rel="alternate" href="https://www.website.nl/de/uber-uns" hreflang="de"/>
<changefreq>daily</changefreq>
<priority>0.7</priority>
<lastmod>2020-12-05T03:59:58+01:00</lastmod>
</url>
因此我创建了以下结构:
type Url struct {
Loc string `xml:"loc"`
Link Link `xml:"link"`
Changefreq string `xml:"changefreq"`
Priority string `xml:"priority"`
Lastmod string `xml:"lastmod"`
}
type Link struct {
Rel string `xml:"rel,attr,omitempty"`
Href string `xml:"href,attr"`
Hreflang string `xml:"hreflang,attr"`
}
我不知道如何处理 link 字段。可以帮助解决以下问题吗?
- 如何在结构中添加三次相同的“link”字段?
- 如何命名字段“xhtml:link”,我在名称中的 : 上遇到错误?
如果您想添加多个 Link 条目,只需为此使用一个数组:
Link []Link `xml:"xhtml:link"`