加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

怎样行使Xpath对XML举办有用恍惚查询

发布时间:2018-08-21 14:26:23 所属栏目:运营 来源:站长网
导读:猛火建站学院(LieHuo.Net)技能文档 假如要对XML文件举办恍惚查找的话是一个较量贫困的工作,Xpath表达式中没有像文件体系中的*或? 可能有像SQL表达式中的%,这样的恍惚查找的通配符。可是还好,在Xpath的函数中提供了像contains和match这样的函数。 contai
  猛火建站学院(LieHuo.Net)技能文档 假如要对XML文件举办恍惚查找的话是一个较量贫困的工作,Xpath表达式中没有像文件体系中的“*”或"?" 可能有像SQL表达式中的"%",这样的恍惚查找的通配符。可是还好,在Xpath的函数中提供了像contains和match这样的函数。

  contains是一个字符串查找函数
  语法是:fn:contains(string1,string2),暗示假如 string1 包括 string2,则返回 true,不然返回 false。
  譬喻:contains('XML','XM'),功效:true。

  match是一个匹配正则表达式的函数
  语法是:fn:matches(string,pattern),暗示假如 string 参数匹配指定的模式,则返回 true,不然返回 false。
  譬喻:matches("12", "[0-9]{1,2}"), 功效:true。

   对付Xpath的一些基本常识可以参考:BizTalk开拓系列(三十四) Xpath 这样就能够知道怎样对XML举办恍惚查找了。以下我们照旧凭证之前谁人实例来做几个测试。

   测试行使的XML

   行使器材:XMLSpy, 留意之条件到了一个开源的Xpath表达式编辑器材:SketchPath 在执行查询语句时不能正确的表现查询功效。因此提议行使XMLSpy做以下测试。

  1.查询全部Blog节点值中带有 cn 字符串的Person节点

  Xpath表达式:/Root//Person[contains(Blog,'cn')]

  功效:

 怎样行使Xpath对XML举办有用恍惚查询

  2.查询全部Blog节点值中带有 cn 字符串而且属性ID值中有01的Person节点

  Xpath表达式:/Root//Person[contains(Blog,'cn') and contains(@ID,'01')]

  怎样行使Xpath对XML举办有用恍惚查询

  3.查询受定名空间束缚的Email节点的值中带有“live”字符串,而且Blog节点值中还带有cn字符串。

  Xpath表达式:/Root/Person//*[local-name()='Email' and contains(text(),'live')]/parent::Person

  功效:

  怎样行使Xpath对XML举办有用恍惚查询

  4.受定名空间束缚的节点与不受定名空间束缚的节点及属性的殽杂查询

  Xpath表达式:/Root/Person//*[local-name()='Email' and contains(lower-case(text()),'live')][contains(../Blog,'cn')][contains(../Name/@lang,'zh-cn')]/parent::Person

  功效:

  怎样行使Xpath对XML举办有用恍惚查询

  5.查询全部节点中值切合Email结构的节点

  Xpath表达式://*[matches(text(),'w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*')]

  功效:

  怎样行使Xpath对XML举办有用恍惚查询 

  通过以上测试,通过行使contrains函数和match函数来举办恍惚查询根基上可以满意根基的行使需求。其它本篇只是罗列了几个根基例子,在详细行使的时辰还需按照现实的环境机动运用函数和轴结构Xpath表达式以满意需求。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读