风故故,也依依

Stand still in the wind.

导航

Dom4j-XPath语法


首先给出一段XML格式文本信息:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
    <book>
        <title lang="eng">Harry Potter</title>
<price>29.99</price>
    </book>
    <book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
    </book>
</bookstore>


表达式     描述
节点名     选择所有该名称的节点集
/              选择根节点
//             选择当前节点下的所有节点
.              选择当前节点
..             选择父节点
@            选择属性

示例
表达式                  描述
bookstore             选择所有bookstore子节点
/bookstore            选择根节点bookstore
bookstore/book    在bookstore的子节点中选择所有名为book的节点
//book                   选择xml文档中所有名为book的节点
bookstore//book   选择节点bookstore下的所有名为book为节点
//@lang                 选择所有名为lang的属性

断言
在方括号中[],用来更进一步定位选择的元素
表达式                                             描述
/bookstore/book[1]                          选择根元素bookstore的book子元素中的第一个(注意: IE5以上浏览器中第一个元素是0)
/bookstore/book[last()]                    选择根元素bookstore的book子元素中的最后一个
/bookstore/book[last()-1]                 选择根元素bookstore的book子元素中的最后第二个
/bookstore/book[position()<3]         选择根元素bookstore的book子元素中的前两个
//title[@lang]                                    选择所有拥有属性lang的titile元素
//title[@lang='eng']                          选择所有属性值lang为eng的title元素
/bookstore/book[price>35.00]         选择根元素bookstore的book子元素中那些拥有price子元素且值大于35的
/bookstore/book[price>35.00]/title   选择根元素bookstore的book子元素中那些拥有price子元素且值大于35的title子元素

选择位置的节点
通配符      描述
*                匹配所有元素
@*             匹配所有属性节点
node()       匹配任何类型的节点
示例
表达式                    描述
/bookstore/*            选择根元素bookstore的下的所有子元素
//*                            选择文档中所有元素
//title[@*]                 选择所有拥有属性的title元素

使用操作符“|”组合选择符合多个path的表达式

posted on 2009-11-02 20:55  jadmin  阅读(163)  评论(0编辑  收藏  举报