在.Net 里用XPath的case-insensitive 的查询

我是一只黄豆

我是一只黄豆

2016-02-19 20:12

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享在.Net 里用XPath的case-insensitive 的查询教程,希望对大家能有一点小小的帮助。

  使用XmlDocument.SelectNodes(String xpath) 是很方便的方法, 可是写XPath 却要费点功夫,
  今天发现XPath1.0里没有 case-insensitive 的 function 所以很难做下面的查询

  root
     AAA
           BBB
                 CCCddd/CCC
           BBB
              CCC GEN/CCC //也可能是Gen, gen, GEn
           /BBB
     /AAA
     AAA
           BBB
                 CCCDFE/CCC
           BBB
              CCC Gen/CCC
           /BBB
     /AAA
  /root

  查找所有的CCC节点值为GEN(case-insensitive)的AAA节点, 如果没有后面的Xpath, 要做到以上查询, 挺复杂, 如果会用Xpath 的 translate function, 就很容易了

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  xpath = @"//root/AAA/BBB/[translate(CCC, 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')] = 'GEN'/parent::*"
  XmlNodeList nodelist = xmlDoc.SelectNodes(xpath);

  xpath的意思是, 把//root/AAA/BBB/CCC节点的value 全部变成大写, 然后和'GEN'比较, 然后返回AAA节点.
  http://www.cnblogs.com/happyy2k/archive/2006/10/31/545128.html

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

在.Net 里用XPath的case-insensitive 的查询

Web开发
在.Net 里用XPath的case-insensitive 的查询

在XPath查询中指定轴(转自MSSQL手册)

Web开发
在XPath查询中指定轴(转自MSSQL手册)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用ASP.Net编写的查询域名的程序

电脑网络
用ASP.Net编写的查询域名的程序

在VS.NET的

电脑网络
在VS.NET的

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用.NET武装你的头脑

电脑网络
用.NET武装你的头脑

漫谈Ajax在.Net中的使用

电脑网络
漫谈Ajax在.Net中的使用

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

VC6.0下配置boost库使用正则表达式

VC6.0下配置boost库使用正则表达式

如何使Windows系统硬盘加速技巧

如何使Windows系统硬盘加速技巧
下拉加载更多内容 ↓