xml元素嵌套比较多时,XPath可以让节点定位很轻松
导包:jaxen-1.1-beta-6.jar
方法
selectNodes(String xpath) List Document提供的检索XPATH的方法
元素
- 绝对路径必须以 “/”起首,不建议用相对路径
- . :表示当前节点
- .. :表示当前节点的父节点
- / :路径分割符,分割节点名
- / :选择根节点
- // :任意位置某个节点
- @ :表示选择某个属性
例子:
- /list 找到根节点list
- //list 找到任意位置的list节点
- bookstore/book ; 选取所有属于bookstore的子元素book
- bookstore//book ; 选择所有属于bookstore元素的后代book元素,不管其位置
- //@lang ;选取所有名为lang的属性
谓语(谓语条件,条件都写在[]中)
- /bookstore/book[1] bookstore的第一个book子元素
- /bookstore/book[last()] ...........最后一个........
- /bookstore/book[position()<3]......前两个..........
- //title[@lang] 选择所有具有lang属性的title节点
- //title[@lang='eng'] 选择所有lang属性值为“eng”的title节点
- /bookstore/book[price] 选择bookstore下的book元素,要求元素必须包含price子元素
- /bookstore/book[price>35.00] 选择bookstore下的book元素,要求元素必须包含price子元素,且其值>35
- /bookstore/book[price>35.00]/title 表示在上面结果中选择title子元素
- /bookstore/book/price[.>35.00] 表示price值大于>35.00的price元素
通配符
- *匹配任意运算节点
- @ 匹配任意属性值