summaryrefslogtreecommitdiff
path: root/unxml.go
diff options
context:
space:
mode:
authorSilvan Jegen <s.jegen@gmail.com>2015-06-05 19:35:38 +0200
committerSilvan Jegen <s.jegen@gmail.com>2015-06-05 19:35:38 +0200
commit6c5a12885f101882148d91effa9a290dfe15d639 (patch)
tree5ecc9d27a4b65f9073e8ace448a0251c0479f31f /unxml.go
parent6a1cb2df856bdaa67f6a41c0e58bfceb068efbf1 (diff)
Add the NewReaderKeepElements function
Diffstat (limited to 'unxml.go')
-rw-r--r--unxml.go20
1 files changed, 20 insertions, 0 deletions
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