XPath Axes

|  | Search W3Schools : |

HOME | HTML | CSS | XML | JAVASCRIPT | ASP | PHP | SQL | MORE... |  | References | Examples | Forum | About

ADVERTISEMENTS XML Certification Download XML editor Custom Programming |  |

Table of contents

XPath Tutorial
XPath HOME
XPath Intro
XPath Nodes
XPath Syntax
XPath Axes
XPath Operators
XPath Examples
XPath Summary
References
XPath Functions

Selected Reading

Web Statistics
Web Glossary
Web Hosting
Web Quality
W3Schools Tutorials
W3Schools Forum
Helping W3Schools

# XPath Axes

## The XML Example Document

We will use the following XML document in the examples below.

    <?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>

## XPath Axes

An axis defines a node-set relative to the current node.

AxisName | Result
ancestor | Selects all ancestors (parent, grandparent, etc.) of the current node
ancestor-or-self | Selects all ancestors (parent, grandparent, etc.) of the current node and the current node itself
attribute | Selects all attributes of the current node
child | Selects all children of the current node
descendant | Selects all descendants (children, grandchildren, etc.) of the current node
descendant-or-self | Selects all descendants (children, grandchildren, etc.) of the current node and the current node itself
following | Selects everything in the document after the closing tag of the current node
following-sibling | Selects all siblings after the current node
namespace | Selects all namespace nodes of the current node
parent | Selects the parent of the current node
preceding | Selects everything in the document that is before the start tag of the current node
preceding-sibling | Selects all siblings before the current node
self | Selects the current node

## Location Path Expression

A location path can be absolute or relative.

An absolute location path starts with a slash ( / ) and a relative location path does not. In both cases the location path consists of one or more steps, each separated by a slash:

    An absolute location path:

    /step/step/...

    A relative location path:

    step/step/...

Each step is evaluated against the nodes in the current node-set.

A step consists of:

- an axis (defines the tree-relationship between the selected nodes and the current node)
- a node-test (identifies a node within an axis)
- zero or more predicates (to further refine the selected node-set)

The syntax for a location step is:

    axisname::nodetest[predicate]

### Examples

Example | Result
child::book | Selects all book nodes that are children of the current node
attribute::lang | Selects the lang attribute of the current node
child::* | Selects all children of the current node
attribute::* | Selects all attributes of the current node
child::text() | Selects all text child nodes of the current node
child::node() | Selects all child nodes of the current node
descendant::book | Selects all book descendants of the current node
ancestor::book | Selects all book ancestors of the current node
ancestor-or-self::book | Selects all book ancestors of the current node - and the current as well if it is a book node
child::*/child::price | Selects all price grandchildren of the current node

## Learn how your website performs under various load conditions

WAPT is a load, stress and performance testing tool for websites and web-based applications. In contrast to "800-pound gorilla" load testing tools, it is designed to minimize the learning curve and give you an ability to create a heavy load from a regular workstation. WAPT is able to generate up to 3000 simultaneously acting virtual users using standard hardware configuration. Virtual users in each profile are fully customizable. Basic and NTLM authentication methods are supported. Graphs and reports are shown in real-time at different levels of detail, thus helping to manage the testing process.

Download the free 30-day trial!

WEB HOSTING
Ecommerce Components for ASP.NET
$15 Domain Name Registration Save $20 / year!
Buy UK Domain Names Register Domain Names
Cheap Domain Names Cheap Web Hosting
Best Web Hosting
PHP MySQL Hosting
Top 10 Web Hosting
UK Reseller Hosting
Web Hosting
FREE Web Hosting

WEB BUILDING
Website Templates Flash Templates Website Builder Internet Business Opportunity
Custom Programming
FREE Trial or Demo Web Content Manager Forms,Web Alerts,RSS
Download XML editor
FREE Flash Website
FREE Web Templates

EDUCATION
US Web Design Schools
HTML Certification
JavaScript Certification
XML Certification
PHP Certification
ASP Certification

HOME or Top of Page |  | Printer Friendly
W3Schools is for training only. We do not warrant the correctness of its content. The risk from using it lies entirely with the user. While using this site, you agree to have read and accepted our terms of use and privacy policy. Copyright 1999-2009 by Refsnes Data. All Rights Reserved.