Concat E4X выражения в ActionScript 3 - PullRequest
1 голос
/ 27 апреля 2010

Есть ли способ объединить выражения E4X? Если я храню «половину» пути в переменной, могу ли я объединить то же самое, что и со строками?

1 Ответ

0 голосов
/ 28 апреля 2010

Вы всегда можете использовать доступ к массиву, преобразовав строку E4X в массив, разделенный точками.

var xml:XML = 
    <data>
        <a><b><c><x><y><z attr="This is an attribute">This is a text!</z></y></x></c></b></a>
    </data>

var path1:String = "a.b.c";
var path2:String = "x.y.z";
var path3:String = "@attr";
var path:Array = ([path1, path2, path3].join('.')).split('.');

var result:XMLList = new XMLList(xml);

for (var i:uint = 0; i < path.length; i++) {
    result = result[path[i]];
}

trace(result); // This is an attribute
...