XPath

XPath 即为 XML 路径语言(XML

Path Language),它是一种用来确定XML文档中某部分位置的语言。

XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于 XPointerXSL 间的语法模型。但是XPath很快的被开发者采用来当作小型 查询语言

简写

绝对路径

<AAA>
    <BBB/>
    <CCC/>
    <BBB/>
    <BBB/>
    <DDD>
        <BBB/>
    </DDD>
    <CCC/>
</AAA>

/AAA 选择根元素 AAA

/AAA/CCC 选择AAA的所有CCC子元素

选择文档中所有满足条件的元素

<AAA>
    <BBB/>
    <CCC/>
    <BBB/>
    <DDD>
        <BBB/>
    </DDD>
    <CCC>
        <DDD>
            <BBB/>
            <BBB/>
        </DDD>
    </CCC>
</AAA>

如果路径以双斜线 // 开头, 则表示选择文档中所有满足双斜线//之后规则的元素(无论层级关系)

//BBB 选择所有BBB元素

//DDD/BBB 选择所有父元素是DDD的BBB元素

通配符

<AAA>
    <XXX>
        <DDD>
            <BBB/>
            <BBB/>
            <EEE/>
            <FFF/>
        </DDD>
    </XXX>
    <CCC>
        <DDD>
            <BBB/>
            <BBB/>
            <EEE/>
            <FFF/>
        </DDD>
    </CCC>
    <CCC>
        <BBB>
            <BBB>
                <BBB/>
            </BBB>
        </BBB>
    </CCC>
</AAA>

星号 * 表示选择所有由星号之前的路径所定位的元素

/AAA/CCC/DDD/* 选择所有路径依附于/AAA/CCC/DDD的元素

/*/*/*/BBB 选择所有的有3个祖先元素的BBB元素

//*选择所有元素