XPath Introduction XPath Introduction

Home > XML Tutorials > An Introduction to XPath

Learning XPath by Example

XPath (XML Path Language) is a language for selecting nodes from within an XML document.

This tutorial explains various common XPath expressions used to extract data from XML documents.

Version 1.0 of the XPath standard was released in 1999, and is now supported in most languages and platforms.

Version 2.0 of the standard was released in 2007 in an effort to share more functionality between the XSLT and XQuery standards. Version 2.0 is backwardly compatible with 1.0 and adds a number new operators including looping, set manipulation, conditional expression, and aggregate functions.

XPath Examples

The XPath Expression Builder included in Liquid Studio makes it simple to visualize the results of your XPath Expressions.

Sample XML Data

<?xml version="1.0" encoding="utf-8" ?>
<Catalog>
    <Album artist="The Last Shadow Puppets" title="The Age Of The Understatement">
        <Track rating="4" length="P3M7S">The Age Of The Understatement</Track>
        <Track rating="3" length="P2M18S">Standing Next To Me</Track>
        <Track rating="5" length="P2M26S">Calm Like You</Track>
        <Track rating="3" length="P3M38S">Separate and Ever Deadly</Track>
        <Track rating="2" length="P2M37S">The Chamber</Track>
        <Track rating="3" length="P2M44S">Only The Truth</Track>
    </Album>
    <Album artist="Kings Of Leon" title="Because Of The Times">
        <Track rating="4" length="P7M10S">Knocked Up</Track>
        <Track rating="2" length="P2M57S">Charmer</Track>
        <Track rating="3" length="P3M21S">On Call</Track>
        <Track rating="4" length="P3M09S">McFearless</Track>
        <Track rating="1" length="P3M59S">Black Thumbnail</Track>
    </Album>
</Catalog>

Example XPath Expressions

XPath Expression Results
Select all the albums:
/Catalog/Album
Select the artist attribute for all albums:
/Catalog/Album/@artist
Select all the tracks in all albums:
/Catalog/Album/Track
Select all albums by the Kings Of Leon:
/Catalog/Album[@artist="Kings Of Leon"]
Select all tracks in all albums by the Kings Of Leon:
/Catalog/Album[@artist="Kings Of Leon"]/Track
Select the second album:
/Catalog/Album[2]
Selects all tracks with a rating greater than '2':
/Catalog/Album/Track[@rating>2]
Selects the text for all the tracks:
/Catalog/Album/Track/text()

Still not sure? Then try Liquid Studio Free Download Free Trial