func Parse(r io.Reader) (*Feed, error) {
	doc, err := xmlquery.Parse(r)
	if err != nil {
		return nil, err
	}
	if doc.SelectElement("rss") != nil {
		return rss.parse(doc)
	} else if doc.SelectElement("feed") != nil {
		return atom.parse(doc)
	}
	return nil, errors.New("invalid syndication feed without <rss> or <feed> element")
}
Parse parses a syndication feed(RSS,Atom).
package syndfeed
import (
	"errors"
	"io"
	"net/http"
	"time"
	"github.com/antchfx/xmlquery"
)
type Feed struct {
	Authors      []*Person
	BaseURL      string
	Categories   []string
	Contributors []*Person
	Copyright    string
	Namespace    map[string]string  
	Description  string
	Generator    string
	Id           string
	ImageURL     string
	Items        []*Item
	Language     string
	LastUpdatedTime   time.Time
	Title             string
	Links             []*Link
	Version           string
	ElementExtensions []*ElementExtension
}
type Link struct {
	MediaType string
	URL       string
	Title     string
	RelType   string
}
type Item struct {
	BaseURL      string
	Authors      []*Person
	Contributors []*Person
	Categories   []string
	Content      string
	Copyright    string
	Id           string
	LastUpdatedTime time.Time
	Links           []*Link
	PublishDate       time.Time
	Summary           string
	Title             string
	ElementExtensions []*ElementExtension
}
type Person struct {
	Name  string
	URL   string
	Email string
}
type ElementExtension struct {
	Name, Namespace, Value string
}