要素の子に繰り返しアクセスする
配列へのアクセスに似た方法で XML 要素リストに反復的にアクセスするコードを記述できます。XMLList 型を使用することで、拡張版の ECMAScript インタープリタは繰り返し要素を配列メンバーであるかのように自動的に処理します。
/* 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>;
/*
* Return the average age of the employees.
* This code produces an ECMAScript number containing "28.5".
*/
var intAgeTotal = 0;
var ageValues = xmlEmployees..age;
/* Loop through the <age> element values, adding them together. */
for (a in xmlEmployees..age) {
intAgeTotal += new Number(a);
}
/* Compute the average age. */
var intAgeAvg = intAgeTotal / ageValues.length;
注意: for...in 文は、XML の場合はネイティブの ECMAScript 配列の場合とは異なる方法で機能します。ネイティブの ECMAScript 配列の場合、for...in は配列のドメインでループ変数を割り当てます。つまり、上の a で表された変数は現在の項目のインデックスになります。XML の場合、for...in は配列の範囲でループ変数を割り当てます。つまり、上の例は XMLList で機能しているので、a は現在の項目の値を保持します。