首页 > 代码库 > xpath语法学习笔记-09052016
xpath语法学习笔记-09052016
<?xmlversion="1.0"encoding="ISO-8859-1"?>
<catalog>
<cd country="USA">
<title>EmpireBurlesque</title>
<artist>BobDylan</artist>
<price>10.90</price>
</cd>
<cd country="UK">
<title>Hideyourheart</title>
<artist>BonnieTyler</artist>
<price>9.90</price>
</cd>
<cd country="USA">
<title>GreatestHits</title>
<artist>DollyParton</artist>
<price>9.90</price>
</cd></catalog>
</catalog>
1、如果XPath的开头是一个斜线(/)代表这是绝对路径。 /catalog/cd/price
如果开头是两个斜线(//)代表文件中所有符合模式的元素都会被选出来,即使是处于树中不同的层级也会被选出来。 //cd
使用星号(*),可以选择未知的元素。
a.选出catalog/cd的所有子元素: /catalog/cd/*
b.选出所有catalog的子元素中,包含有price作为子元素的元素:
/catalog/*/price
c.选出有两层父节点,叫做price的左右元素:
/*/*/price
d.选出文件中的左右元素:
//*
2、选择分支:使用中括号可以选择分支。
a.从catalog的子元素中取出第一个叫做cd的元素,XPath的定义中木有第0个元素说法:/catalog/cd[1]
b.选择catalog中的最后一个cd元素:/catalog/cd[last()]
c.选出含有price子元素的所有 /catalog/cd元素:/catalog/cd[price]
d.选出price元素的值等于10.90的所有/catalog/cd元素:/catalog/cd[price=10.90]
e.选出price元素的值等于10.90的所有/catalog/cd元素的price元素:/catalog/cd[price=10.90]/price
3、选择一个以上的路径:使用or操作数(|)可以选择一个以上的路径
a.选择所有title以及artist元素:
/catalog/cd/title|catalog/cd/artist
//title|//artist
b.选择所有title以及artist以及price元素
//title|//artist|//price
4、选择属性:都是以@开头
a.选择所有叫country的属性: //@country
b.选择所有含有country这个属性的cd元素://cd[@country]
c.选择含有属性的所有cd元素://cd[@*]
d.选择country属性值为UK的cd元素://cd[@country=‘UK‘]
xpath语法学习笔记-09052016