2010年12月14日 星期二

[Action Script]load XML註釋資料

平常load XML檔是比較少注意到此功能

因為Action Script預設是為true ,將註釋資料忽略

若今天要將XML資料內的註釋一起load進來該如何做呢?

加上這兩行指令即可


              XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;


以下為完整的範例

先建一個xmldata.xml

內容自己輸入xml格式,以下是我的例子

<?xml version="1.0" encoding="UTF-8"?>
<data>
<!--項目列表1--->
<item>
<name>James</name>
<email>dickfala@gmail.com</email>
<webSite>http://bruce620.blogspot.com/</webSite>
</item>
<!--項目列表2--->
<item>
<name>xxx</name>
<email>xxxx@gmail.com</email>
<webSite>http://www.google.com.tw</webSite>
</item>
<!--項目列表3--->
<item>
<name>ooo</name>
<email>ooo@yahoo.com</email>
<webSite>http://www.yahoo.com.tw</webSite>
</item>
</data>


再使用Action Script外部檔案輸入以下程式

此為外部AS package寫法

package {
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
/**
* @author james
* http://bruce620.blogspot.com/
*/
public class loadxmldata extends Sprite {
private var _urlLoader:URLLoader;
private var _xml:XML;
public function loadxmldata(){
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
_urlLoader = new URLLoader();
_urlLoader.load(new URLRequest("xmldata.xml"));
_urlLoader.addEventListener(Event.COMPLETE, onloadercompletehandler);
}
private function onloadercompletehandler(e:Event):void {
_xml = new XML(e.target.data);
trace(_xml);
}
}
}

輸出後就可以看到

<!--項目列表1--->
<!--項目列表2--->
<!--項目列表3--->


的註釋資料囉~

沒有留言: