📜  XPath-轴(1)

📅  最后修改于: 2023-12-03 15:35:47.822000             🧑  作者: Mango

XPath-轴

XPath中的轴用于在文档中沿特定方向查找节点。XPath标准定义了13个轴类型,每个轴类型都有其独特的功能。在本文中,我们将学习XPath轴及其细节。

轴的种类
  1. ancestor轴: 选择所有当前节点的祖先节点(不包括根节点)。

    ancestor::node()
    
  2. **ancestor-or-self轴:**选择所有当前节点的祖先节点,以及当前节点本身。

    ancestor-or-self::node()
    
  3. **attribute轴:**选择所有当前节点的属性节点。

    attribute::*
    
  4. **child轴:**选择所有当前节点的子节点。

    child::node()
    
  5. **descendant轴:**选择所有当前节点的后代节点(不包括子节点)。

    descendant::node()
    
  6. **descendant-or-self轴:**选择所有当前节点的后代节点,以及当前节点本身。

    descendant-or-self::node()
    
  7. **following轴:**选择当前节点之后的所有节点。

    following::node()
    
  8. **following-sibling轴:**选择当前节点之后的所有同级节点。

    following-sibling::node()
    
  9. **namespace轴:**选择当前节点的所有命名空间节点。

    namespace::*
    
  10. **parent轴:**选择当前节点的父节点。

    parent::node()
    
  11. **preceding轴:**选择当前节点之前的所有节点。

    preceding::node()
    
  12. **preceding-sibling轴:**选择当前节点之前的所有同级节点。

    preceding-sibling::node()
    
  13. **self轴:**选择当前节点本身。

    self::node()
    
轴的使用

使用轴时,我们需要指定一个有效的节点作为参考点,通常是一个元素节点。例如,我们想获取所有祖先节点和当前节点本身的名称,我们可以使用以下XPath表达式:

ancestor-or-self::*/name()

这将返回给定节点的所有祖先节点名称和当前节点本身的名称。我们还可以基于其他轴和谓词过滤器来进一步过滤此表达式。

总结

轴是XPath中一个强大的工具,它允许我们根据节点的位置和关系选择节点。本文介绍了13个不同类型的XPath轴,每个轴都有其独特的功能。当使用轴时,我们需要指定一个有效的参考节点,以便确定节点的位置。