- OpenLaszlo紹介
- プログラム構造関連
- スクリプト
- Javascript基礎
- 基礎知識
- ビュー<view>
- レイアウト
- 動かす
- 入力デバイス
- 文字
- 数値
- 日付
- オブジェクト指向
- 標準コンポーネント
- データの扱い
- データ操作(基礎)
- 応用編
–
datapointer.serialize();
データセットにあるXMLデータはオブジェクトになっています。ここから単なるテキストデータとしてXML文字列を取り出すにはserialize()を使います。
lz.DataElement.valueToElement(xml)
ついでに、valueToElement()で、XMLデータオブジェクトをXML文字列に変換できます。
サンプルでは一つのデータセットから4通りの方法で取得した結果を表示しています。
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee"> <dataset name="ds"> <root> <data sei="織田" mei="信長" /> <data sei="豊臣" mei="秀吉" /> <data sei="徳川" mei="家康" /> </root> </dataset> <simplelayout/> <text name="xml0" multiline="true"><![CDATA[ ]]></text> <text name="xml1" multiline="true"><![CDATA[ ]]></text> <text name="xml2" multiline="true"><![CDATA[ ]]></text> <text name="xml3" multiline="true"><![CDATA[ ]]></text> <handler name="oninit"> // データセット階層を丸ごと取得 var t0 = ds.serialize(); t0 = lz.DataElement.valueToElement(t0); xml0.setAttribute('text',t0); // データ階層を丸ごと取得 var dp1 = ds.getPointer(); dp1.selectChild(); var t1 = dp1.serialize(); t1 = lz.DataElement.valueToElement(t1); xml1.setAttribute('text',t1); // データ単体を取得 var dp2 = ds.getPointer(); dp2.selectChild(2); var t2 = dp2.serialize(); t2 = lz.DataElement.valueToElement(t2); xml2.setAttribute('text',t2); // データを全て取得 var dp3 = ds.getPointer(); dp3.selectChild(2); var t3 =""; do{ t3 = t3 + dp3.serialize(); }while(dp3.selectNext()); t3 = lz.DataElement.valueToElement(t3); xml3.setAttribute('text',t3); </handler> </canvas>