func New(p page.Page) (Parser, error) { err := p.Validate() if err != nil { return nil, err } var pageParser Parser switch p.Type { case page.PageTypeCatalogs: pageParser, err = newPageCatalogsParser(p) } return pageParser, err }
func newPageCatalogsParser(p page.Page) (Parser, error) { // root,err := xmlpath.ParseHTML(p.Reader()) // if err != nil { // return nil,err // } root, err := goquery.NewDocumentFromReader(p.Reader()) if err != nil { return nil, err } common := &pageCommonParser{root} pr := &pageCatalogsParser{common, "", ""} pr.initPaths() return Parser(pr), nil }