给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
  • 文件检索最终版

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

    2018-08-15 06:52:36
    698107
  • XPath 字符串函数

    XPath 字符串函数_数学_自然科学_专业资料。XPath 字符串函数 字符串函数用来对查询结果进行格式化处理,XPath 支持字符串函数如表 9-8 所示。 表 9-8 字符串...

    2018-08-15 07:05:16
    721690
  • XPath_教程 2

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

    2018-08-15 06:39:54
    104928
  • XPath 节点集函数

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

    2018-08-15 07:14:25
    241101
  • xpath的使用方法

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

    2018-08-15 06:55:44
    237422
  • Java中的XPath学习笔记

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

    2018-08-15 06:57:51
    123153
  • 给xpath添加正则表达式匹配函数

    给xpath 添加正则表达式匹配函数做网页解析时, 将 html 转成 xml 格式之后, 再利用 xpath 则可以轻易地截取任何所需要的数据。 在使用 xpath 时, 常常会用到...

    2018-08-15 07:27:10
    275266
  • PHP DOMXpath 查询表达式详解

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

    2018-08-15 07:09:15
    339671
加载中...
加载中...
  • XPath实例

    实例1 基本的 XPath 语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径 就表示到一个元素的绝对路径 /AAA 选择根元素 AAA <AAA> <BBB...

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

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

  • 如何获取某个页面元素的XPath值

    如何获取某个页面元素的XPath值 - 假如现在我们想要获取百度首页《www.baidu.com》的“百度一下”按钮的 XPath 值,如下 图所示: 360 安全浏览器: 第一步:首先,...

  • Xpath工具使用教程

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

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

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

24小时热门信息
  • docker命令语句

    docker命令语句_计算机软件及应用_IT/计算机_专业资料。docker命令语句 Docker 基础这篇基础文章是方便用户在使用 cSphere 平台之前,了解 docker 基础知识。 针对已经...

    2018-08-15 07:21:07
    238868
  • Docker 的使用总结

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

    2018-08-15 06:48:31
    182123
  • 重建docker0网络《docker容器端口不通时试用》

    重建docker0网络《docker容器端口不通时试用》 - pkill docker iptables -t nat -F ifconfig docker0 down brctl delbr ...

    2018-08-15 06:48:51
    245925
  • Docker常用命令汇总

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

    2018-08-15 07:11:32
    155626
  • docker学习之基础知识

    docker学习之基础知识 - 内 部 公 开 ▲ Docker 学习之基础知识 Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余 项...

    2018-08-15 07:12:25
    462582
  • 非常详细的 Docker 学习笔记

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

    2018-08-15 06:50:49
    943743
精彩推荐
  • Macromedia Flash_8 基础教程Macromedia Flash_8 基础教程

    Macromedia Flash_8 基础教程 - Flash 8.0 基础教程 一、Flash 基础 启动 Flash 在桌面找一个红色图标 双击即可启动,也可以单击“开始” -“所有程序”...2018-08-15 06:45:18168241

  • 信息技术工具介绍flash信息技术工具介绍flash

    信息技术工具介绍flash - 信息技术工具介绍——Flash 一、flash 软件介绍 Flash 是一种动画创作与应用程序开发于一身的创作软件,为创建数字动画、交互式 Web 站点...2018-08-15 07:13:59297697

  • Flash学习心得Flash学习心得

    Flash学习心得 - Flash 学习心得 Flash 是美国 MACROMEDIA 公司于 1999 年 6 月推出的优秀网页动画设计软 件。在中国经历了 9 年的发展时间。曾经在中国风云一....2018-08-15 07:07:17274116

  • Flash动画的种类Flash动画的种类

    Flash动画的种类 - 下面,给您介绍一下 Flash 制作动画的种类,简单的说,就是 Flash 能够制 作哪几种基础的动画。 一、逐帧动画 所谓的逐帧动画, 就是不需要...2018-08-15 07:01:34659255

  • FLASH模块FLASH模块

    如果 CSM 被保护起来了,那么必 须从被保护的 RAM《例如: L0 或者 L1SARAM》运行 Flash 控制寄存器 的初始化代码,否则 Flash 控制寄存器的初始化代码无法访问 ...2018-08-15 06:53:46329521

  • flash做EEPROM用flash做EEPROM用

    flash做EEPROM用 - STM32 本身没有自带 EEPROM,但是 STM32 具有 IAP《在应用编程》功能,所以我们可 以把它的 FLASH 当成 EEPROM 来使用 STM32...2018-08-15 07:27:24132631

  • flash动画处理知识点整理flash动画处理知识点整理

    flash动画处理知识点整理 - 稽山中学信息技术学业水平考试复习资料---FLASH FLASH 操作题相关知识点 知识目标: 单元 考试内容 考试要求 a 考试属性 1.计算机动画的...2018-08-15 07:24:25308913

  • FLASH 练习题FLASH 练习题

    FLASH 练习题_理化生_高中教育_教育专区。练习题 填空题 1、 Flash CS3 中的基本绘图工具包括直线工具、___、___、___、 ___。 2、绘制线条的工具有___...2018-08-15 06:59:56691807

手机版 | 欢迎来到社会化媒体营销
RSS订阅