XML オブジェクトの構築と変形

Flash Player 9 以降、Adobe AIR 1.0 以降

XML オブジェクトが持つプロパティリストの先頭または末尾にプロパティを追加するには、次のように prependChild() メソッドまたは appendChild() メソッドを使用します。

var x1:XML = <p>Line 1</p>  
var x2:XML = <p>Line 2</p>  
var x:XML = <body></body> 
x = x.appendChild(x1); 
x = x.appendChild(x2); 
x = x.prependChild(<p>Line 0</p>); 
    // x == <body><p>Line 0</p><p>Line 1</p><p>Line 2</p></body>

特定のプロパティの直前または直後にプロパティを追加するには、次のように insertChildBefore() メソッドまたは insertChildAfter() メソッドを使用します。

var x:XML =  
    <body> 
        <p>Paragraph 1</p>  
        <p>Paragraph 2</p> 
    </body> 
var newNode:XML = <p>Paragraph 1.5</p>  
x = x.insertChildAfter(x.p[0], newNode) 
x = x.insertChildBefore(x.p[2], <p>Paragraph 1.75</p>)

また、XML オブジェクトの作成時に次のようにして中括弧演算子( { および } )を使用し、参照によってデータを他の変数から渡すこともできます。

var ids:Array = [121, 122, 123];  
var names:Array = [["Murphy","Pat"], ["Thibaut","Jean"], ["Smith","Vijay"]] 
var x:XML = new XML("<employeeList></employeeList>"); 
 
for (var i:int = 0; i < 3; i++) 
{ 
    var newnode:XML = new XML();  
    newnode = 
        <employee id={ids[i]}> 
            <last>{names[i][0]}</last> 
            <first>{names[i][1]}</first> 
        </employee>; 
 
    x = x.appendChild(newnode) 
}

XML オブジェクトにプロパティまたは属性を割り当てるには、次のように = 演算子を使用します。

var x:XML =  
    <employee> 
        <lastname>Smith</lastname> 
    </employee> 
x.firstname = "Jean"; 
x.@id = "239";

これを実行すると、 x という XML オブジェクトは次のように設定されます。

<employee id="239"> 
    <lastname>Smith</lastname> 
    <firstname>Jean</firstname> 
</employee>

+ 演算子および += 演算子を使用すると、次のように複数の XMLList オブジェクトを連結できます。

var x1:XML = <a>test1</a>  
var x2:XML = <b>test2</b>  
var xList:XMLList = x1 + x2; 
xList += <c>test3</c>

これを実行すると、 xList という XMLList オブジェクトは次のように設定されます。

<a>test1</a> 
<b>test2</b> 
<c>test3</c>