一、xpath的语法
XPath是XML的查询语言,和SQL的角色很类似。以下面XML为例,介绍XPath的语法。
<?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>
二、定位节点
XML是树状结构,类似档案系统内数据夹的结构,XPath也类似档案系统的路径命名方式。不过XPath是一种模式(Pattern),可以选出XML档案中,路径符合某个模式的所有节点出来。例如要选catalog底下的cd中所有price元素可用:
/catalog/cd/price
如果XPath的开头是一个斜线(/)代表这是路径。如果开头是两个斜线(//)表示文件中所有符合模式的元素都会被选出来,即使是处于树中不同的层级也会被选出来。
以下的语法会选出文件中所有叫做cd的元素(在树中的任何层级都会被选出来):
//cd