要素の子に繰り返しアクセスする

配列へのアクセスに似た方法で 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 は現在の項目のを保持します。

関連トピック

インデックスから要素の子にアクセスする