XQuery 是一个 Golang 包,允许从 HTML 或 XML 文档中使用 XPath 提取文档数据。
安装
go get -u github.com/antchfx/xquery
HTML 查询
这个包使用 Golang 官方包来解析 html 文件:html。
方法:
Find(html.Node, string) []html.Node FindOne(html.Node, string) html.Node FindEach(html.Node, string, func(int, html.Node)) LoadURL(string) *html.Node
package main import ( "golang.org/x/net/html" "github.com/antchfx/xquery/html" ) func main() { html_string:=`<!DOCTYPE html> <html> <head> <title>Page Title</title> </head> <body> <h1>This is a Heading</h1> <p>This is a paragraph.</p> </body> </html>` root, err := html.Parse(strings.NewReader(html_string)) if err != nil { panic(err) } node := htmlquery.FindOne(root, "//title") fmt.Println(htmlquery.OutputHTML(node)) // output html text with tags fmt.Println(htmlquery.InnerText(node)) }
XML 查询
方法:
Find( Node, string) [] Node
FindOne(Node, string) Node
FindEach(Node, string, func(int, Node))
LoadURL(string) *Node