basic rdf test

This commit is contained in:
Nazar Kanaev 2021-03-22 14:07:35 +00:00
parent e819140f36
commit 43620cd9b6
2 changed files with 77 additions and 0 deletions

View file

@ -2,6 +2,7 @@ package feed
import (
"encoding/xml"
"io"
)
type rdfFeed struct {
@ -19,3 +20,25 @@ type rdfItem struct {
DublinCoreDate string `xml:"http://purl.org/dc/elements/1.1/ date"`
DublinCoreContent string `xml:"http://purl.org/rss/1.0/modules/content/ encoded"`
}
func ParseRDF(r io.Reader) (*Feed, error) {
f := rdfFeed{}
decoder := xml.NewDecoder(r)
if err := decoder.Decode(&f); err != nil {
return nil, err
}
feed := &Feed{
Title: f.Title,
SiteURL: f.Link,
}
for _, e := range f.Items {
feed.Items = append(feed.Items, Item{
GUID: e.Link,
URL: e.Link,
Title: e.Title,
})
}
return feed, nil
}