Selecting an attribute with XPath can be done using attribute::
or @
.
Example of accessing attributes with XPath
<?xml version="1.0" encoding="UTF-8"?>
<data>
<employee>
<office>
<dept id="accounts">
<name>Raju</name>
<age>50<age>
</dept>
</office>
<office>
<dept id="HR">
<name>Malini</name>
<age>30<age>
</dept>
</office>
</employee>
</data>
Expression |
Description |
Example (from document given above) |
---|---|---|
@ |
Select attributes. It is abbreviation of attribute:: |
/dept/@id or child::dept/attribute::id – Selects id attribute on dept element. dept[@id] – All <dept> elements with “id” attribute. //@id – Selects all attributes that are named “id”. |
Predicates
Predicates for attributes are given in table below:
Path Expression |
Result |
---|---|
//office[@id] |
Selects all office elements that have an attribute ‘id’. |
//office[@id=’HR’] |
Selects all office elements that have an attribute ‘id’ with value “HR”. |
Wildcards
XPath wildcards are used to select XML attributes regardless of their name.
Wildcard |
Description |
Example |
---|---|---|
@* |
Selects all attributes of current node |
//data[@*] - Selects all elements from data node which has atleast one attribute. |
Comments
No comments have been made yet.
Please login to leave a comment. Login now