From 52f04d02b7e657c19d08ca418784c51f42fe83ef Mon Sep 17 00:00:00 2001 From: rsiddharth Date: Mon, 14 Sep 2020 19:35:01 -0400 Subject: cedar.go: add parseFeed --- cedar.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/cedar.go b/cedar.go index 86901dc..0f2abf1 100644 --- a/cedar.go +++ b/cedar.go @@ -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() {} -- cgit v1.2.3