func (this *cleaner) replaceWithPara(div *goquery.Selection) { if div.Size() > 0 { node := div.Get(0) node.Data = atom.P.String() node.DataAtom = atom.P } }
func (s *StateMachine) ProcessSelection(sl *goquery.Selection) { if strings.HasPrefix(sl.Text(), "備註") { s.State = InFootnote } if strings.HasPrefix(sl.Text(), "資訊更新日期") { s.State = NotInFootnote } if s.State == InFootnote { if sl.Size() != 1 { panic("element size is not 1") } s.ProcessNode(sl.Nodes[0]) } }
func (this *parser) setAttr(selection *goquery.Selection, attr string, value string) { if selection.Size() > 0 { node := selection.Get(0) attrs := make([]html.Attribute, 0) for _, a := range node.Attr { if a.Key != attr { newAttr := new(html.Attribute) newAttr.Key = a.Key newAttr.Val = a.Val attrs = append(attrs, *newAttr) } } newAttr := new(html.Attribute) newAttr.Key = attr newAttr.Val = value attrs = append(attrs, *newAttr) node.Attr = attrs } }