basic rdf test
This commit is contained in:
parent
e819140f36
commit
43620cd9b6
2 changed files with 77 additions and 0 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue