我一直在玩 Go 的 XML 包,但看不出以下代码有什么问题。


package main


import (

    "encoding/xml"

    "fmt"

    "net/http"


type Channel struct {

    Items Item

}


type Item struct {

    Title       string `xml:"title"`

    Link        string `xml:"link"`

    Description string `xml:"description"`

}


func main() {


    var items = new(Channel)

    res, err := http.Get("http://www.reddit.com/r/google.xml")


    if err != nil {

        fmt.Printf("Error: %v\n", err)

    } else {

        decoded := xml.NewDecoder(res.Body)


        err = decoded.Decode(items)


        if err != nil {

            fmt.Printf("Error: %v\n", err)

        }


        fmt.Printf("Title: %s\n", items.Items.Title)

    }

}

上面的代码运行没有任何错误并打印到终端:


Title:

该结构似乎是空的,但我不明白为什么它没有被 XML 数据填充。