E4Xを使ってみた

E4XとはECMAScript for XMLの略で、javascriptactionscriptなどのECMA準拠なもので使える技術らしい。AS3から使えるみたい。

このようなXMLデータがあった場合

<?xml version="1.0" encoding="UTF-8"?>
<campus-data>
    <data id="001">
    	<name>hoge1</name>
    	<description>hogehogehoge</description>
    	<location x="1" y="2" z="3" />
    </data>
    <data id="002">
    	<name>hoge2</name>
    	<description>hogehogehoge</description>
    	<location x="1" y="2" z="3" />
    </data>
    <data id="003">
    	<name>hoge3</name>
    	<description>hogehogehoge</description>
    	<location x="1" y="2" z="3" />
    </data>
</campus-data>
trace(xml.data.(@id=="001").name)

とすると、"hoge1"がかえってきます。

trace(xml.data@id)

とすると、"001002003"がかえってきます。

E4Xを利用する恩恵は、XMLノードに対してこういう簡単なアクセス方法を提供してくれることとアクセスの速度が速くなるということなんでしょうか?