示例

import "github.com/sohaha/zlsgo/zhttp"

doc, err := zhttp.HTMLParse([]byte("<html><div class='box' id='B'>The is <div class='red text'>HTML</div></div></html>"))

doc.Select("div").Text() // The is 
doc.Select("div").FullText() // The is HTML
doc.Select("div").Attr("class") // box
doc.Select("div", map[string]string{"class":"red"}).HTML() // <div class="red text">HTML</div>

// 支持简单的 css 选择器
doc.Find("#id")
doc.Find(".class")
doc.Find("div > .class")

函数列表

// 解析 HTML
doc, err := zhttp.HTMLParse([]btye("html 源码"))

// 获取指定元素(简单支持 CSS 选择器)
doc := doc.Find(el string)

// 获取单个元素
doc.Select("标签名字",map[string]string{"属性名":"属性值"})

// 获取全部匹配元素
doc.SelectAll(el string,... map[string]string)

// 获取指定下级元素
doc.SelectChild(el string, ...map[string]string)

// 获取第几个下级元素
doc.NthChild(n)

// 获取兄弟节点
doc.SelectBrother(el string, ...map[string]string)

// 判断元素是否存在
doc.Exist()

// 获取元素标签名
doc.Name()

// 获取元素内容文本
doc.Text()
// 获取元素内容文本并移除前后空白符
doc.Text(true)

// 获取元素内容文本(包括子元素)
doc.FullText()
// 获取元素内容文本(包括子元素)并移除前后空白符
doc.FullText(true)

// 获取元素 HTML 源码
doc.HTML()

// 获取元素全部属性
doc.Atrrs()

// 获取元素指定属于值
doc.Attr(key string)