XML的“正则”表达:Xpath

简化是技术革新的三大动力之一:

在编程中,正则表达式让逻辑代码变得简明:

int a = 3;

int b;

逻辑处理:

if (a>3){

  b=a;

}else

  b=0;

 

简写为:

b = (a>3)? a:0;

 

那么XML的元素定位读取能否用简单的方式表达呢?可以----->Xpath

路径:

1,单选指定: 一个      /     /BB

2,多选指定:多个      //   //BB

3,所有指定:所有     *     //*

4,索引指定:第几个 [ ]  "/BB[1]"    "/BB[last( )]"

5,属性指定: 不定元素的属性的   //                      //@*

                            某个属性的               @                    /BB[@ID]

                            任何属性的               @*                  /BB[@*]

                            没有任何属性的       not( @* )       /BB[not(@*)]

6,属性值指定:属性值字符串                        /BB[ @ID='123']    

                              去首尾空格字符串值            /BB[ normalize-space(@ID='bbb')]

7,子元素指定:有两个明确子元素的元素      //*[cont(BB)=2]            

                              有两个任意子元素的元素      //*[cont*()=2]

8,元素名称指定:所有某个明确名称的元素            //*[name()='BB']

                                  所有含糊名称的元素  明确开头 //*[start-with(name(),'B')]

                                                                        明确包含 //*[contains(name(),'B')]

9,元素名称长度指定:

                                 长=3         //*[sting-length(name())=3]

                                 长<3         //*[sting-length(name())<3]

                                 长>3         //*[sting-length(name())>3]

10,逻辑组合:

                           与  |      //BB | //CC

 

总结:1, 符合含义   ( )

                                    [ ]

                                    //

                                    ' '

           2, 单符号         /

                                    *

                                    |

           3, 函数           name( )

                                  normalize-space(sting=' ')

                                 start-with(sting,' ' )

                                 contains(string,' ' )

                                 string-length(string)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值