给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-06-25 23:08:21
    698107
  • XPath_教程 2

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

    2018-06-25 23:39:52
    104928
  • Java中的XPath学习笔记

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

    2018-06-25 23:40:21
    123153
  • XPath 表达式

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

    2018-06-25 23:19:29
    110657
  • xpath的使用方法

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

    2018-06-25 22:57:46
    237422
  • XPath 节点集函数

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

    2018-06-25 23:31:19
    241101
  • 给xpath添加正则表达式匹配函数

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

    2018-06-25 23:46:15
    275266
  • PHP DOMXpath 查询表达式详解

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

    2018-06-25 23:22:08
    339671
加载中...
加载中...
  • XPath实例

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

  • Xpath使用实例简单粗暴

    Xpath使用实例简单粗暴_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档Xpath使用实例简单粗暴_计算机软件及应用_IT/计算机_专业资料。XPath...

  • xpath详解总结,很全面

    请看一个典型的 XPath 查询表达式:/messages/message//child:: node《》[@id=0],其中/messages/message 是路径《绝对路径以"/ "开始》,child::是轴表示在子节点...

  • Java中的XPath学习笔记

    Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore> XPath 语法 XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点...

  • 通过Xpath定位元素

    通过Xpath定位元素_计算机软件及应用_IT/计算机_专业资料。使用 XPath 进行元素定位在 Selenium 中,定位 HTML 元素经常用到 XPath 表达式,下面将进行详细的介绍。 ...

24小时热门信息
  • Docker 的使用总结

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

    2018-06-25 22:59:29
    182123
  • docker学习文档

    docker学习文档 - docker学习文档,如何创建docker,如何在docker上部署tomcat与mysql服务

    2018-06-25 23:30:48
    209099
  • docker课程介绍.doc

    docker课程介绍.doc_IT认证_资格考试/认证_教育专区。云计算 Docker 容器技术应用培训课程大纲 1、培训对象:云计算架构师、运营维护工程师、开发工程师 2、培训目标...

    2018-06-25 23:28:35
    338015
  • Docker Swarm架构的特性与基本实践

    Docker Swarm架构的特性与基本实践 - Docker,Container,容器,容器开发,企业容器平台,互联网转型,Devops,微服务

    2018-06-25 23:28:20
    699337
  • 非常详细的 Docker 学习笔记

    ... 4.9 Docker 1.3 新增特性和命令 4.10 Docker 1.5 新特性 5.1 自动映射端口 5.2 绑定端口到指定接口 6.1 Docker 四种网络模式 6.2 列出当前主机网桥 ...

    2018-06-25 23:20:49
    943743
  • docker命令语句

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

    2018-06-25 23:36:37
    238868
精彩推荐
  • adobe flash player安装不了解决方法汇总adobe flash player安装不了解决方法汇总

    adobe flash player 安装不了解决方法汇总 Adobe Flash Player 安装不了怎么办?FlashPlayer 是一款高性能的、轻量型且极具表现力的客户 端运行时播放器。很多朋友...2018-06-25 23:15:47249555

  • Flash发布设置Flash发布设置

    Flash发布设置_计算机软件及应用_IT/计算机_专业资料。为 Flash 《.swf》 文件指定发布设置说明为Flash 《.swf》 文件指定发布设置注意: 仅限 CS5.5 - 还可以在属...2018-06-25 23:06:36118769

  • zigbee协议栈flash操作zigbee协议栈flash操作

    《HAL_NV_DMA_CH》; FADDRL = 《uint8》addr; FADDRH = 《uint8》《addr >> 8》; HalFlashWriteTrigger《》; 》 这个函数的功能就是向 flash 内部的 addr 地址...2018-06-25 23:32:38407421

  • 计算机答案《Flash》计算机答案《Flash》

    20.关于 Flash 影片舞台的最大尺寸是多少 为像素 21、在 Flash 中,如果希望将一段文字分离为单独的文字,可以使用 的命令是【Ctrl】+【B】 22、某电影中,只有...2018-06-25 23:21:19265311

  • 《flash动画设计》建设方案与实施过程《flash动画设计》建设方案与实施过程

    《flash 动画设计》建设方案与实施过程一、课程建设思路 《Flash 动画设计》课程是一门实践性很强的课程,主要学习二维动画的制作和 交互式设计的内容。通过本课程...2018-06-25 23:07:24401073

  • FLASH 练习题FLASH 练习题

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

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

    Flash 的补间动画有以下几种: 1.动作补间动画 动作补间动画是 Flash 中非常重要的动画表现形式之一,在 Flash 中制作动作补间动画的对象必须 是"元件"或"组成"...2018-06-25 23:05:42297697

  • FLASH页面游戏课程设计报告FLASH页面游戏课程设计报告

    FLASH页面游戏课程设计报告_工学_高等教育_教育专区。课程设计报告.FLASH 页面游戏课程设计报告第一章 绪论 1.1 课题背景意义随着社会的不断发展,人们的生活水平在...2018-06-25 22:59:31910727

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