Accessing Attributes With the .@ Operator
In the way that you access elements with the . operator, you can access attributes using the .@ (attribute) operator.
/* Declare an XML variable with a literal XML value. */ var xmlEmployees = <employees> <employee id="111111111"> <firstname>John</firstname> <lastname>Walton</lastname> <age>25</age> </employee> <employee id="222222222"> <firstname>Sue</firstname> <lastname>Day</lastname> <age>32</age> </employee> </employees>; /* * Assign a variable with John's id number. * This code returns a string containing "111111111". */ var xmlEmployeeID = xmlEmployees.employees.employee[0].@id; /* * Set Sue's id number to "555555555". */ xmlEmployees.employees.employee[1].@id = "555555555";
Note: The nature of attributes and the .@ operator makes it necessary to use the thisXML property when filtering using the .@ operator:
/* * Find the <employee> element where the id attribute is 222222222. * Return the corresponding last name. * This code returns <lastname>Day</lastname>. */ var ageXML = xmlEmployees..employee.(thisXML.@id == "222222222").lastname;