XQuery - 文档数据提取 Golang 包


MIT
跨平台
Google Go

软件简介

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