Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 在Go中解析RSS提要_Xml_Go_Rss - Fatal编程技术网

Xml 在Go中解析RSS提要

Xml 在Go中解析RSS提要,xml,go,rss,Xml,Go,Rss,我想用围棋写一个播客下载程序。下面的代码解析RSS提要,但在将解析后的数据打印到标准输出时,通道的链接为空。我不知道为什么。有什么建议吗?我是新来的 主程序包 进口( “编码/xml” “fmt” “net/http” ) 类型外壳结构{ Url字符串`xml:“Url,attr”` Length int64`xml:“长度,属性”` 类型字符串`xml:“类型,属性”` } 类型项结构{ 标题字符串`xml:“标题”` 链接字符串`xml:“链接”` Desc string`xml:“说明”`

我想用围棋写一个播客下载程序。下面的代码解析RSS提要,但在将解析后的数据打印到标准输出时,通道的链接为空。我不知道为什么。有什么建议吗?我是新来的

主程序包
进口(
“编码/xml”
“fmt”
“net/http”
)
类型外壳结构{
Url字符串`xml:“Url,attr”`
Length int64`xml:“长度,属性”`
类型字符串`xml:“类型,属性”`
}
类型项结构{
标题字符串`xml:“标题”`
链接字符串`xml:“链接”`
Desc string`xml:“说明”`
Guid字符串`xml:“Guid”`
附件`xml:“附件”`
PubDate字符串`xml:“PubDate”`
}
类型通道结构{
标题字符串`xml:“标题”`
链接字符串`xml:“链接”`
Desc string`xml:“说明”`
Items[]Item`xml:“Item”`
}
类型Rss结构{
Channel`xml:“频道”`
}
func main(){
resp,err:=http.Get(“http://www.bbc.co.uk/programmes/p02nrvz8/episodes/downloads.rss")
如果错误!=零{
fmt.Printf(“错误获取:%v\n”,错误)
返回
}
延迟响应主体关闭()
rss:=rss{}
解码器:=xml.NewDecoder(分别为正文)
err=解码器。解码(&rss)
如果错误!=零{
fmt.Printf(“错误解码:%v\n”,错误)
返回
}
fmt.Printf(“频道标题:%v\n”,rss.Channel.title)
fmt.Printf(“频道链接:%v\n”,rss.Channel.link)
对于i,item:=范围rss.Channel.Items{
fmt.Printf(“%v.项目标题:%v\n”,i,项目标题)
}
}

rss源中的xml有一个channel元素,其中包含两个子“link”元素:“link”和“atom:link”。即使有名称空间前缀,Go-xml解组器也会看到冲突。另见和


...
论坛-第六十二届改善世界的想法
http://www.bbc.co.uk/programmes/p02nrvz8
...

rss源中的xml有一个channel元素,其中包含两个子“link”元素:“link”和“atom:link”。即使有名称空间前缀,Go-xml解组器也会看到冲突。另见和


...
论坛-第六十二届改善世界的想法
http://www.bbc.co.uk/programmes/p02nrvz8
...
或使用类库或工具读取各种RSS源。

或使用类库或工具读取各种RSS源

<?xml version="1.0" encoding="UTF-8"?>
...
   <channel>
      <title>Forum - Sixty Second Idea to Improve the World</title>
      <link>http://www.bbc.co.uk/programmes/p02nrvz8</link>
      ...
      <atom:link href="http://www.bbc.co.uk/..." />