How to Select Attributes Using XPath?

In xpath, the @ prefix denotes an attribute. To select all attributes, you would use a xpath expression like the following:

//root/node/@attribute

Let's suppose you have the following XML document:

<?xml version="1.0"?>
    <notes>
    <note lang="en">Call the office</note>
    <note lang="de">Freunde treffen</note>
    <note lang="en">Pickup groceries</note>
    <note lang="fr">Apprends le français</note>
</notes>

To select all "lang" attributes, you can use the following xpath expression:

//notes/note/@lang

This will result in the following:

lang=en
lang=de
lang=en
lang=fr

To only select the attribute from the second note, for example, you can use the following xpath expression:

//notes/note[2]/@lang

This will result in the following attribute being selected:

lang=de

This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.