XQuery文档数据提取 Golang 包

联合创作 · 2023-09-30 15:27

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

浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报