From 6c5a12885f101882148d91effa9a290dfe15d639 Mon Sep 17 00:00:00 2001 From: Silvan Jegen Date: Fri, 5 Jun 2015 19:35:38 +0200 Subject: Add the NewReaderKeepElements function --- unxml.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/unxml.go b/unxml.go index 6dfcf05..e38af31 100644 --- a/unxml.go +++ b/unxml.go @@ -51,6 +51,26 @@ func NewReaderKeepTags(r io.Reader, tagstokeep []string) *Reader { } } +func NewReaderKeepElements(r io.Reader, tagstokeep []string) *ElementReader { + var tagmap map[string]bool + + if len(tagstokeep) > 0 { + tagmap = make(map[string]bool, 10) + for _, tag := range tagstokeep { + tagmap[tag] = true + } + } else { + tagmap = nil + } + + return &ElementReader{ + xr: Reader{ + tagmap: tagmap, + tokenizer: html.NewTokenizer(r), + }, + } +} + func (r *Reader) Read(out []byte) (int, error) { var err error -- cgit v1.2.1-18-gbd029