在Go中构建MRSS feed

时间:2015-08-28 18:19:09

标签: xml go

我试图得到结果:

<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss">

使用:

type RSS struct {
XMLName xml.Name `xml:"rss"`
Xmlns   string   `xml:"xmlns:media,attr"`
Version string  `xml:"version,attr"`
Channel Channel `xml:"channel"`
}

rss := &RSS{Version: "2.0", Xmlns:media: "http://search.yahoo.com/mrss"}

但是由于冒号我得到语法错误。没有&#34;:媒体&#34;没有错误。我该如何添加?谢谢。

1 个答案:

答案 0 :(得分:2)

您已经完成了使其工作所需的一切,您的复合文字是错误的,您使用的是xml属性名称而不是字段名称。注释的主要原因之一是为了提供字段名称的灵活性,原因有一些明显的原因,例如不支持较低的cased字段,json和xml的命名规则与Go不一致。以下是您的代码的工作示例;

type RSS struct {
XMLName xml.Name `xml:"rss"`
Xmlns   string   `xml:"xmlns:media,attr"`
Version string  `xml:"version,attr"`
Channel Channel `xml:"channel"`
}

rss := &RSS{Version: "2.0", Xmlns: "http://search.yahoo.com/mrss"}