diff options
Diffstat (limited to 'cedar.go')
-rw-r--r-- | cedar.go | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -1,10 +1,28 @@ package main import ( + "encoding/xml" "io" "net/http" ) +type Link struct { + XMLName xml.Name `xml:"link"` + Href string `xml:"href,attr"` +} + +type Entry struct { + XMLName xml.Name `xml:"entry"` + Id string `xml:"id"` + Title string `xml:"title"` + Link Link +} + +type Feed struct { + XMLName xml.Name `xml:"feed"` + Entry []Entry `xml:"entry"` +} + func newsFeed() ([]byte, error) { // Init feed. feed := make([]byte, 0) @@ -29,4 +47,15 @@ func newsFeed() ([]byte, error) { return feed, nil } +func parseFeed(feed []byte) (Feed, error) { + f := Feed{} + + err := xml.Unmarshal(feed, &f) + if err != nil { + return f, err + } + + return f, nil +} + func main() {} |