给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            {                return m_ArgList;            }        }        // Function to resolve references to my custom functions.        public override IXsltContextFunction ResolveFunction(string prefix,     string name, XPathResultType[] ArgTypes)        {            XPathExtensionFunction func = null;            // Create an instance of appropriate extension function class.            switch (name)            {                // 匹配正则表达式, XPath1.0没有该方法                case "Match":                    func = new XPathExtensionFunction("Match"12new        XPathResultType[] { XPathResultType.NodeSet, XPathResultType.String }, XPathResultType.Boolean);                    break;                // 去除空格                case "Trim":                    func = new XPathExtensionFunction("Trim"11,                        new XPathResultType[] { XPathResultType.String }, XPathResultType.String);                    break;                default:                    throw new ArgumentException("没有定义" + name + "函数");            }

点击显示全文

分页:12345
  • XPath 节点集函数

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

    贡献者:w3693061
    241101
  • XPath_教程 2

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

    贡献者:happy吴彦
    104928
  • 给xpath添加正则表达式匹配函数

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

    贡献者:ljky2006乐园
    275266
  • 文件检索最终版

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

    贡献者:DDHJY
    698107
  • PHP DOMXpath 查询表达式详解

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

    贡献者:zxmout
    339671
  • Java中的XPath学习笔记

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

    贡献者:xinshi9608
    123153
  • XPath 字符串函数

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

    贡献者:w3693061
    721690
  • xpath的使用方法

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

    贡献者:rockyylt
    237422
加载中...
加载中...
  • Xpath使用实例简单粗暴

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

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

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

  • python+xpath笔记

    python+xpath笔记_计算机软件及应用_IT/计算机_专业资料。一、选取节点 常用的路劲表达式: 表达式 描述 实例 选取了 div 节点的所有子节 点 从根节点上选取 div ...

  • XPath语法规则及实例

    XPath语法规则及实例_IT/计算机_专业资料。XPath 语法规则术语: 一、 XPath 术语: 1. 节点: 在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理...

  • xpath的使用方法

    xpath的使用方法_计算机软件及应用_IT/计算机_专业资料。xpath的使用方法 首先要说的是 XPath 数据类型。XPath 可分为四种数据类型: 1. 节点集《node-set》 节点...

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

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

    贡献者:border_chen
    182123
  • docker环境搭建

    docker环境搭建_计算机软件及应用_IT/计算机_专业资料。docker环境安装全文 Docker 是 PasS 提供商 DoctCloud 开源的一个基于 LXC 的高级容 器引擎,源代码托管在 ...

    贡献者:张小飞705
    767694
  • docker课程介绍.doc

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

    贡献者:超级jack0070
    338015
  • Docker常用命令汇总

    Docker常用命令汇总_计算机软件及应用_IT/计算机_专业资料。超实用:Docker常用命令汇总 Docker 常用命令汇总一、查看 docker 信息 1、查看 docker 版本 docker version...

    贡献者:zq_rh
    155626
  • 非常详细的 Docker 学习笔记

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

    贡献者:a_a_a_a_a_t
    943743
  • CentOS系统下docker的安装配置及使用详解

    使用镜像创建容器 [root@localhost /]# docker run chug/ubuntu12.10x64 /bin/echo hello world hello world 交互式运行 [root@localhost /]# docker run -i...

    贡献者:NathanHD
    165711
精彩推荐
  • 客户关系管理客户关系管理

    CRM 管理 包括访客名片的建立、 对话记录的管理 、熟客识别等为企业建立良好的客 情关系数据库,帮助企业有效维护老客户和挖掘潜在客户。 河北工商银行集成实现客户...贡献者:新菲尔伯爵390139

  • 客户关系管理《CRM》产生背景客户关系管理《CRM》产生背景

    客户关系管理《CRM》产生背景_企业管理_经管营销_专业资料。十几年市场竞争的磨练,尤其是中国加入 WTO 在即,竞争的压力使得中国的企业对于 可以提高企业竞争力的各种...贡献者:89513380278226

  • CRM客户关系管理系统建设方案《完整版》CRM客户关系管理系统建设方案《完整版》

    CRM客户关系管理系统建设方案《完整版》_计算机软件及应用_IT/计算机_专业资料。CRM客户关系管理系统建设方案《完整版》 CRM 客户关系管理系统 建设方案 商务代表:沈言炎...贡献者:melody_syyxx171113

  • 实施CRM过程中的问题及对策实施CRM过程中的问题及对策

    理解 CRM《客户关系管理》的含义是实施 CRM 的前提与依据。CRM 首先是一种管 理理念,其核心思想是将企业的客户《包括最终客户、分销商和合作伙伴》作为最重要的 ...贡献者:墨镜小13142339

  • CRM简介CRM简介

    信息系统开发与设计 CRM 系统简介一 、 主要思想客户关系管理《 Customer Relationship Management, CRM》, 是以 信息技术为媒介, 以客户及其价值为中心, 通过管理和...贡献者:holiter337996

  • CRM_中间件数据传输配置V3.0CRM_中间件数据传输配置V3.0

    CRM_中间件数据传输配置V3.0_计算机软件及应用_IT/计算机_专业资料。SAP CRM_中间件数据传输配置 CRM 项目技术文档 三全食品 CRM 配置手册中间件配置手册 Version ...贡献者:zhouqingxiang1156505

  • CRM资料CRM资料

    CRM资料_互联网_IT/计算机_专业资料。CRM >CRM 软件的基本功能包括客户管理、联系人管理、时间管理、潜在客户管理、销售管 理、电话销售、营销管理、电话营销、客户...贡献者:zhiminggod188569

  • 客户关系管理《CRM》系统设计报告客户关系管理《CRM》系统设计报告

    客户关系管理《CRM》系统设计报告 摘 要 通过CRM系统分析、 本公司需求分析及考察CRM的一般系统与实际业务流程关 系,确定本公司CRM系统设计定位于基于部门应用、运营...贡献者:八百客CRM143860

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