给xpath添加正则表达式匹配函数

给xpath添加正则表达式匹配函数xpath正则表达式,xpath 正则,xpath表达式,xpath函数,xpath,xpath语法,xpath教程,python xpath,xpath定位,xpath是什么
社会化媒体营销 > 给xpath添加正则表达式匹配函数

给xpath添加正则表达式匹配函数(1)

给xpath添加正则表达式匹配函数

做网页解析时,将html转成xml格式之后,再利用xpath则可以轻易地截取任何所需要的数据。在使用xpath时,常常会用到其中的一些函数,特别是字符串函数,完整的函数列表可在w3school找

到:https://www.w3school.com.cn/xpath/xpath_functions.asp#string)。然而这仅仅是标准xpath里所的, dotnet里这只实现了一部分,特别是本标题所提到的正则匹配函数fn:matches(string,pattern),dotnet里竟然不支持。虽然dotnnet里还是能用诸如contains等判断函数,但比起强大的正则表达式,其实现的功能远远不能满足要求。

为了能够更加灵活、方便的匹配字符串,需要给xpath添加自定义的正则匹配函数,幸好dotnet了接口,先看看这些基类及接口。

XsltContext

封装可扩展样式表转换语言(XSLT) 处理器的当前执行上下文,使XML 路径语言(XPath) 在XPath 表达式中解析函数、参数和命名空间。需要定义一个继承XsltContext的子类,实现对自定义函数的调用。

IXsltContextFunction

为在运行库执行期间在可扩展样式表转换语言(XSLT) 样式表中定义的给定函数一个接口。实现该接口的子类定义以及自定义函数的功能。

IXsltContextVariable

为在运行库执行期间在样式表中定义的给定变量一个接口。其子类实现在调用自定义函数时,参数值的计算。

涉及类比较多,但是在具体实现远没有那么复杂,后续添加其他函数也很方便。

关键代码

实现XsltContext

public class XpathContext : XsltContext

{

// XsltArgumentList to store my user defined variables

private XsltArgumentList m_ArgList;

// Constructors

public XpathContext()

{ }

public XpathContext(NameTable nt)

: base(nt)

{

}

public XpathContext(NameTable nt, XsltArgumentList argList)

: base(nt)

{

m_ArgList = argList;

}

// Returns the XsltArgumentList that contains custom variable definitions.

public XsltArgumentList ArgList

{

get

点击显示全文

分页:12345
  • XPath 节点集函数

    这些元素节点的 ID 属性与变量字符串指定的值匹配 返回节点集中第一个节点的...个节点的完整名称 XPath 运算符和节点集函数可以合并使用,共同构成定位路径表达式...

    2018-08-16 11:50:48
    241101
  • 文件检索最终版

    关键词:Web 数据抽取 XPath 比较 XERG 正则表达式 查看全文 - 下载全文 - ...[检索式]:关键词=正则表达式 and 关键词 =web 《精确匹配》 [检索结果]:5 ...

    2018-08-16 12:09:51
    698107
  • XPath 表达式

    XPath 表达式标识所有匹配的元素集。 相对特定元素《称为表达式的“上下文”》进行...我们很希望有一种类似正则表达式的东西来规范 查询条件,而 xpath 正是这样一种...

    2018-08-16 11:52:55
    110657
  • Java中的XPath学习笔记

    ? XPath 包含一个标准函数库 XPath 含有超过 100 个内建的函数。这些函数用于...匹配任何类型的节点。 实例在下面的表格中,我们列出了一些路径表达式,以及这些...

    2018-08-16 12:08:43
    123153
  • PHP DOMXpath 查询表达式详解

    php 通过xpath读取节点,比正则匹配快n倍![php] 1. XPath 简介 2. 3. ...取 逻辑非用 not《》函数。 37.请看一个典型的 XPath 查询表达式: /messages/...

    2018-08-16 12:09:02
    339671
  • XPath_教程 2

    1 XPath 教程 XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。 XPath 是 W3C XSLT 标准的主要元素,并且 XQuery ...

    2018-08-16 11:38:26
    104928
  • xpath的使用方法

    其它类型的数据不能转换为 节点集。 2. 布尔值《boolean》 由函数或布尔表达式...5. 属性及属性在 XPath 中可以利用属性及属性值来匹配元素,要注意的是,元素的...

    2018-08-16 11:34:04
    237422
  • xpath详解总结,很全面

    取逻辑非用 not《》函数。 请看一个典型的 XPath ...《节点 名和命名空间都匹配》 //message[@id=0]/...Language 属性默认是 正则表达式,不是 XPath 语言。...

    2018-08-16 11:34:33
    202545
加载中...
加载中...
  • 给xpath添加正则表达式匹配函数

    public override IXsltContextVariable ResolveVariable《string prefix, string name》 《 // Create an instance of an XPathExtensionVariable. XPathExtensionVariable ...

  • 自动化测试工具selenium中如何利用xpath来定位元素

    自动化测试工具selenium中如何利用xpath来定位元素 - 自动化测试工具 selenium 中如何利用 xpath 来定位元素 在开始之前,我们先来熟悉 selenium 中常使用的几个...

  • Xpath工具使用教程

    Xpath工具使用教程 - 本教程告诉大家如何使用八爪鱼内置的Xpath工具,帮助大家更高效的采集数据

  • 八爪鱼如何通过xpath实现自定义定位元素

    八爪鱼如何通过xpath实现自定义定位元素_互联网_IT/计算机_专业资料。本文介绍八爪鱼如何通过xpath实现自定义定位元素。 八爪鱼·云采集服务平台 www.bazhuayu.com ...

  • xpath总结《全》

    xpath总结《全》 - 经常在工作中会使用到 XPath 的相关知识,但每次总会在一些关键的地方不记得或不太清楚,所以免不了 每次总要查一些零碎的知识,感觉即很烦又...

24小时热门信息
  • 非常详细的 Docker 学习笔记

    非常详细的 Docker 学习笔记 - 阅读目录 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ...

    2018-08-16 11:44:54
    943743
  • docker云架构

    docker云架构 - docker,云架构,分布式集群... docker云架构_计算机软件及应用_IT/计算机_专业资料。docker,云架构,分布式集群 Docker:一种云计算下的新的虚拟化技术...

    2018-08-16 11:27:34
    286938
  • Docker常用命令汇总

    Docker常用命令汇总 - 超实用:Docker常用命令汇总... Docker常用命令汇总_计算机软件及应用_IT/计算机_专业资料。超实用:Docker常用命令汇总 Docker 常用命令汇总一、查...

    2018-08-16 12:12:31
    155626
  • Docker文件系统的分层与隔离

    Docker 文件系统的分层与隔离 M 老师:Docker 的很多特性都表现在它所使用的文件系统上,比如大家都知道 docker 的文件系统是分层的,所以它可以快速迭代,可以回滚。...

    2018-08-16 11:44:49
    188609
  • Docker 的使用总结

    docker 在线安装与启动 1.1 安装 docker [root@localhost /]#yum install –y epel-release [root@localhost /]# yum -y install docker-io 1.2 启动 ...

    2018-08-16 11:31:38
    182123
  • docker安全性分析

    一、在审查 Docker 的安全时,需要考虑三个主要方面: 容器内在的安全性,由内核命名空间和 cgroup 中实现; docker 守护程序本身的攻击面; 加固内核安全特性,以及...

    2018-08-16 12:05:05
    313435
精彩推荐
手机版 | 欢迎来到社会化媒体营销
RSS订阅