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

  • 一、XQuery简介   可以把XQuery理解成XML中SQL语言。XQuery可以用来: 提取信息以便在网络服务中使用 生成摘要报告 把 XML 数据转换为 XHTML 为获得相关信息而搜索网络文档   要获取xml文档,需要使用doc()函数,例如:doc("books.xml") 得到doc之后,我们就可以如XPath一样取值,例如:doc("books.xml")//book/title

  • xquery简介 注意:本文在2005年12月所做的更新包含了XQuery规范的最新更改:八个工作草案现在已达到W3C“候选推荐书”的状态,使该规范整体上更接近最终的建议书。 主要的全文本文件于2004年首次发布,最近已更新。 更新工具的需求工作草案以及有关构建XPath / XQuery标记程序的草案均于2005年首次发布。XQuery功能的数量在不断增长,XQuery实现者列表和XQuery实

  • 一.简介      XQuery = XML Query,是W3C所制定的一套标准,用来从类XML文档中提取信息,类XML文档可以理解成一切符合XML数据模型和接口的实体,他们可能是文件或RDBMS。 二.特点     XQuery有如下特点:       ·XQuery是查询XML的语言         ·XQuery类似RDBMS的SQL         ·XQuery建立在XPATH的基础之

  • 本文介绍了XQuery查询语言的主要特性,并通过实例讨论了XQuery语言在数据查询、转换等方面的应用。 引言 XML已经成为事实上的数据表示和数据交换的标准。开始,它的自描述和特定可扩展性等核心特性提供了不同应用程序之间消息传输所需的灵活性。特别是随着近年来Web Service的蓬勃发展,XML越来越多地活跃在数据交换和存储领域,用XML表示的半结构化数据越来越普遍,在B2B电子商务行业中尤其

  • 选取节点 doc("books.xml")/bookstore/book[price<30]/title 看一个例子就懂了,选取books.xml中price节点值小于30的book节点下的title节点内容 FLOWER表达式 for $x in doc("books.xml")/bookstore/book where $x/price>30 order by $x/title return

  • 查询 Oracle XML DB 信息库中的 XML 数据 为访问 Oracle XML DB 信息库中存储的 XML 数据,Oracle XQuery 引入了 fn:doc 和 fn:collection XQuery 函数。使用 fn:doc,您可以查询 XML 信息库中存储的单个 XML 文档,而 fn:collection 使您可以访问同一信息库文件夹中存储的多个 XML 文档。 正如本文

  • xquery 尽管XPath和XQuery都执行某些相同的功能,但是XPath提供了简单性,而XQuery提供了更多的功能和灵活性。 XPath是许多类型查询的理想工具。 例如,XPath是您从XML文档中的记录子集创建电话号码无序列表的最简单方法。 但是,如果您需要一个表达更复杂的记录选择条件,转换结果集或需要递归的查询,则需要XQuery。 XPath XPath是一种特定于领域的语言(DSL

  • sql xml 入门: --by jinjazz 1、xml: 能认识元素、属性和值 2、xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁) 语法格式,这些语法可以组合为条件: "."表示自己,".."表示父亲,"/"表示儿子,"//"表示后代, "name"表示按名字查找,"@name"表示按属性查找 "集合[条件]" 表示根据条件取集合的子集,条件可以是 数

  • 本系列文章主旨在于介绍一些漏洞类型产生的基本原理,探索最基础的解决问题的措施。 关于xQuery标准的详细信息可以参考http://www.w3.org/TR/xquery/, 这里只做简单介绍。 XQuery语言是用于查询存储在XML数据库的数据的语言,它可以看做是XPath语言的一个超集。主要用到的XQuery的功能包括:  构建XQL查询  从XML数据库获取信息给web服务或者应用 从XM

  • – 选择特定 XML 文档,为 XPath 返回的节点增加选择条件的附加语 法;– API接口,如 XQJ(XQuery for Java API),应用XQuery需要使用 具体的编程语言对 XQuery ...... 简化XQuery解析器的设计与实现(A Simplified XQuery Parser)(1人,已定) 90 XML在RDB的存储机制(1人,已定) 91 一种有效的内存数据库

  • T-SQL 支持用于查询 XML 数据类型的 XQuery 语言的子集。 XQuery 基于现有的 XPath 查询语言,并支持更好的迭代、更好的排序结果以及构造必需的 XML 的功能。 在前面我们已经学习了 XPath 的基本语法,本章将学习T-SQL 的 XQuery 语法 ------------------------------------------------------------

 相关资料
  • 8.3. 从 HTML 文档中提取数据 为了从 HTML 文档中提取数据,将 SGMLParser 类进行子类化,然后对想要捕捉的标记或实体定义方法。 从 HTML 文档中提取数据的第一步是得到某个 HTML 文件。如果在您的硬盘里存放着 HTML 文件,您可以使用 file 函数 将它读出来,但是真正有意思的是从实际的网页得到 HTML。 例 8.5. urllib 介绍 >>> import

  • 问题内容: 我正在尝试提取其中的任何数据。 例如,从此字符串提取的数据应为。 这是实际的代码: 但这行不通,知道吗? 问题答案: 您需要转义,并在正则表达式中。 Golang示范 在正则表达式中 您也可以使用

  • 以下是从文本文档中提取内容和元数据的程序 - import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.tika.exception.TikaException; import org.apache.tika.metadata.Metadata; import

  • 问题内容: 我正在尝试从golang中的telnet会话读取数据。为了达到这个目的,我编写了以下函数。 最初,我遇到一个问题,即我从没有数据的套接字读取数据,因此它将锁定并且永远不会返回。BufferSocketData是我尝试解决此问题的方法,因为我不知道是否有要读取的数据。这个想法是它将等待1秒钟,然后确定套接字中没有数据并返回一个空字符串。 GetData似乎第一次在缓冲区中有新数据时起作用

  • 问题内容: 我正在尝试学习一些漂亮的汤,并从一些iFrame中获取一些html数据-但到目前为止,我还没有取得很大的成功。 因此,解析iFrame本身似乎不是BS4的问题,但是我似乎并没有从中获得嵌入的内容-不管我做什么。 例如,考虑下面的iFrame(这是我在chrome开发人员工具上看到的): 我要提取的内容在哪里。 但是,当我使用以下BS4代码时: 我得到: 换句话说,我得到的iFrame中

  • 以下是从XML文档中提取内容和元数据的程序 - import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.tika.exception.TikaException; import org.apache.tika.metadata.Metadata; impor

  • 下面给出了从HTML文档中提取内容和元数据的程序。 import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.tika.exception.TikaException; import org.apache.tika.metadata.Metadata; imp

  • 问题内容: 我试图提取具有特定文本文件之间的文本: 然后将其转储到文本文件中,以便 谢谢您的帮助。 问题答案: 这对我来说足够好了。您的样本数据在一个名为“ data.txt”的文件中,输出将进入“ result.txt”