列子:
语法:
101XPath Result /dept/@bldg 101 /dept/employee/@id
/dept/employee/name
/dept/employee/name/text()
/dept/employee/*/text()
/dept/*/@id
//name/text()
/dept//phone
/dept/employee[@id=“902”]/name <name>Peter Pan</name>
<name>John Doe</name> //employee[office=“344” OR office=“216”]/@id
/dept/employee[2]/@id 902 /dept/employee/name[../@id=“902”] <name>Peter Pan</name> /dept/employee/office[.>“300”] <office>344</office> /dept/employee[office > “300”]/office <office>344</office> /dept/employee[name=“John Doe”]/../@bldg 101 /dept/employee/name[.=“John Doe”]/../../@bldg
- XPath表达式使用完整限定路径指定元素和(或者)属性。符号“@”用来指定属性。若仅仅需要获得一个元素的值(文本节点),则使用“text()”函数
- XPath中有两个通配符:“*”匹配任意标签名 “//”是“子或自身”通配符
- 谓词部分放置在[]中。作为对照,可以认为它们等价于SQL中的WHERE子句。例如 [@id=”902”]会被解释成“WHERE 属性id 值等于“902”。在一个XPath表达式中可以有多个谓词。要指定特定位置的项,使用 [n],这表明同一级元素的第n项会被选中。例如,employee[2]表示第二个雇员被选中。
- XPath的父元素与MS-DOS或者Linux/UNIX相似,在表达式中使用“.”(读作dot)表示引用当前上下文,使用“..”表示引用上一级上下文。