I am using xpath in java. I want to get all the attributes (name & Value) of an element. I found the query to get the attribute values of an element, now I want to get attribute names alone or names and values in single query.
<Element1 ID="a123" attr1="value1" attr2="value2" attr3="value3" attr4="value4" attr5="value5" />
Here using the following query to get all the attribute values of Element1
XmlUtils.getAttributes(Path, String.format("//*/@*"));
Using this format //*/@* I can get the values. result would be value1 value2 value3 value4 value5 a123
Now I want to know the query to get all the attribute names, or query to get all the attributes name and value.
To select all attributes of all elements in the document named Element1:
//Element1/@*. This will return a nodeset containing attribute nodes. You can then iterate the nodeset.If you already have a context node and wish to find results under it, the query would be
.//Element1/@*. This is usually more efficient than querying the entire document.And it may be more efficient to find all elements of a given name using getElementsByTagName.
To get the attributes of a particular element, iterate its attributes property.