XMLを使ってみる(その7)

CDATAも扱えます

AS3に実装されているE4XでCDATAの処理も行えるか簡単にテストしてみました。

CDATAとは「CDATAでくくった部分テキストノードにXMLタグのような文字を使ったりしてもテキストとして解釈される」というような機能です。
結論から書くと、問題なく使えました。
テストに使用したコードは以下のようなモノです。

var aXML:XML  =
  <people>
    <person id="p1">
      <name>Bob</name>
      <age>32</age>
      <data>HELLO</data>
    </person>
    <person id="p2">
      <name>Joe</name>
      <age>46</age>
      <data><![CDATA[<こんにちは!!>]]></data>
    </person>
  </people>;
trace( "--- all" );
trace( aXML.toXMLString() );
trace( "--- pick" );
trace( aXML.person.(name=="Joe").data );

以上のソースをビルドして試したら次のように出力されました。

[trace] --- all
[trace] <people>
[trace]   <person id="p1">
[trace]     <name>Bob</name>
[trace]     <age>32</age>
[trace]     <data>HELLO</data>
[trace]   </person>
[trace]   <person id="p2">
[trace]     <name>Joe</name>
[trace]     <age>46</age>
[trace]     <data><![CDATA[<こんにちは!!>]]></data>
[trace]   </person>
[trace] </people>
[trace] --- pick
[trace] <こんにちは!!>

便利ですねー、E4X