2008年3月9日日曜日

AdobeCS3でJavaScriptにXMLを読み込む

AdobeCS3付属の「JavaScript Tools Guide」を読むと、
ExtendScript defines the XML object, which allows you to process XML with your JavaScript scripts. This
feature offers a subset of the functionality specified by the ECMA-357 specification (E4X).
と書いてある。

英語は苦手だけど、とにかくExtendScript内でXMLを使えるよ、と書いてあるのはわかる。
それを試してみた。

用意したXMLはこんな感じ。"test.xml"
<?xml version="1.0" encoding="UTF-8"?>
<Page>
<Koma name="コマA">
<FileName>testA.pdf</FileName>
<Xzahyou>10</Xzahyou>
<Yzahyou>10</Yzahyou>
</Koma>
<Koma name="コマB">
<FileName>testB.pdf</FileName>
<Xzahyou>20</Xzahyou>
<Yzahyou>10</Yzahyou>
</Koma>
<Koma name="コマC">
<FileName>testC.pdf</FileName>
<Xzahyou>30</Xzahyou>
<Yzahyou>10</Yzahyou>
</Koma>
</Page>

それをデスクトップに置いて、スクリプト。
var openFile=new File("~/Desktop/test.xml");
openFile.open ("r");
src=openFile.read();
myXml = new XML(src);

ここまででXMLファイルを読み込み、XMLを定義する。
alert(myXml);
するとこうなる。


要素を呼び出してみる。
alert(myXml.Koma[1].FileName[0]);
alert(myXml.Koma[0].@name);



すばらしい!

一応CS2でも試してみたが、やっぱり使えなかった。まあしょうがないか。

0 件のコメント: