avatar
童琦杰
Feb 4, 2024Technology

XPath

/element-name

获取元素名为element-name的根元素。理论上一个合法的XML文件只会有一个根元素。

xml
<!-- this element matched -->
<element-name>
  <parent>
    <element-name></element-name>
  </parent>
</element-name>

//element-name

获取当前元素下所有元素名为element-name的元素。

xml
<root>
  <parent>
    <!-- this element matched -->
    <element-name>
      <!-- this element matched -->
      <element-name></element-name>
    </element-name>
    <!-- this element matched -->
    <element-name></element-name>
  </parent>
</root>

.

获取当前元素。

..

获取当前元素的父元素。

*

获取当前元素下所有元素。

//parent/element-name[1]

获取第一个元素名为element-name的元素。顺序索引从1开始。

xml
<root>
  <parent>
    <!-- this element matched -->
    <element-name>
      <element-name></element-name>
    </element-name>
    <element-name></element-name>
  </parent>
</root>

//parent/element-name[last()]

获取最后一个元素名为element-name的元素。

xml
<root>
  <parent>
    <element-name>
      <element-name></element-name>
    </element-name>
    <!-- this element matched -->
    <element-name></element-name>
  </parent>
</root>

//parent/element-name[position()<2]

获取位置索引小于2的元素名为element-name的所有元素。

xml
<root>
  <parent>
    <!-- this element matched -->
    <element-name>
      <element-name></element-name>
    </element-name>
    <element-name></element-name>
  </parent>
</root>

//parent/element-name[@attribute-name]

获取包含属性attribute-name的所有元素。

xml
<root>
  <parent>
    <!-- this element matched -->
    <element-name attribute-name="attribute-value">
      <element-name></element-name>
    </element-name>
    <element-name></element-name>
  </parent>
</root>

//parent/element-name[@attribute-name='attribute-value']

获取包含属性attribute-name并且属性值为attribute-value的所有元素。

xml
<root>
  <parent>
    <!-- this element matched -->
    <element-name attribute-name="attribute-value">
      <element-name></element-name>
    </element-name>
    <element-name></element-name>
  </parent>
</root>
© 2015-2022 tongqijie.com 版权所有沪ICP备17000682号