System.useCodepage = true;//使用本地编码
//实例化一个xml对象.
var myxml:XML = new XML();
//分析时忽略xml文档中的空格.
myxml.ignoreWhite = true;
//加载test.xml文档.
myxml.load("test1.xml");
//调用XML.onLoad事件
var myTextArea:mx.controls.TextArea;
var myloader:mx.controls.Loader;
var rbtn:mx.controls.Button;
var leftbtn:mx.controls.Button;
var buybtn:mx.controls.Button;
var img_arr:Array; //图片数据存放所有路径
var img_current=0;//当前第几张
var urlstr:String; //XML节点url的路径
myxml.onLoad = function(success:Boolean)
{
//如果加载成功,success=true;否则success=false;
if (success) {
trace("加载成功!");
//输出顶层节点的节点名和顶层节点中属性name的值.
trace(myxml.firstChild.nodeName+":"+myxml.firstChild.attributes.name);
//用一个数组来引用顶层节点中子级节点的数组.
var child_arr:Array = myxml.firstChild.childNodes;
urlstr=myxml.firstChild.attributes["url"];
/*针对节点一行多个值的情况
for (attr in myxml.firstChild.attributes) {
trace (attr + " = " + myxml.firstChild.attributes[attr]);
myxml.firstChild.attributes["url"];
}
*/
//保存节点数据
img_arr=myxml.firstChild.childNodes;
//用嵌套for语句遍历出xml文档中的所有数据.
//这个for遍历的是顶层节点下的子级节点.
for (var i = 0; i<child_arr.length; i++) {
//输出顶层节点下的子级节点的节点名和顶层节点下的子级节点中属性name的值.
trace(child_arr[i].nodeName+":"+child_arr[i].attributes.name);
//这个for遍历的是顶层节点下的子级节点下的子级节点.
for (var j = 0; j<child_arr[i].childNodes.length; j++) {
//输出顶层节点下的子级节点下的子级节点的节点名 和 顶层节点下的子级节点下的子级节点中属性name的值.不要晕.看看输出面板就会明白它们之间的关系了哦.
trace(child_arr[i].childNodes[j].nodeName+":"+child_arr[i].childNodes[j].attributes.name);
}
myTextArea.html=true;
myTextArea.text=img_arr[0].childNodes[0].attributes.name;;
myTextArea.setStyle( "fontSize", 12 );
myloader.load(child_arr[img_current].attributes.name);
_global.styles.TextArea.backgroundColor = undefined;
myTextArea.setStyle("fontFamily", "微软雅黑");
}
} else {
trace("加载失败!");
}
};
//下一张
rbtn.clickHandler = function(evt:Object){
if (img_current<img_arr.length-1){
img_current=img_current+1;
myloader.load(img_arr[img_current].attributes.name);
myTextArea.text=img_arr[img_current].childNodes[0].attributes.name;
}
};
//上一张
lbtn.clickHandler = function(evt:Object){
if (img_current>0){
img_current=img_current-1;
myloader.load(img_arr[img_current].attributes.name);
myTextArea.text=img_arr[img_current].childNodes[0].attributes.name;
}
};
buybtn.addEventListener("click",buyfunc);
function buyfunc(){
if (urlstr.length){
getURL(urlstr);
}
}
//载入分类MENU----------------------------------------------------------
var mymenubar:mx.controls.MenuBar;
var my_menu:mx.controls.Menu = mymenubar.addMenu("分类");
var menufirst_arr:Array;
var menuxml:XML = new XML();
//忽略空格
menuxml.ignoreWhite = true;
//加载test.xml文档.
menuxml.load("menu.xml");
menuxml.onLoad = function(success:Boolean){
if (success){
trace("menuxml seccesss");
menufirst_arr = menuxml.firstChild.childNodes;
for (var i = 0; i<menufirst_arr.length; i++) {
trace(menufirst_arr[i].childNodes[0].attributes.name);
my_menu.addMenuItem({label:menufirst_arr[i].attributes.name, instanceName:menufirst_arr[i].childNodes[0].attributes.name});
}
}
};
// 创建侦听器对象。
var mbListener:Object = new Object();
var ins:String;
mbListener.change = function(evt_obj:Object) {
var menuItem_obj:Object = evt_obj.menuItem;
inst=menuItem_obj.toString();
var p1=inst.indexOf("instanceName=")+14;
var p2=inst.indexOf("label");
var lengthpos=p2-p1;
inst=inst.substr(p1,lengthpos-2);
switch (menuItem_obj.attributes.instanceName) {
case inst:
myxml.load(inst);
break;
}
trace(inst);
trace(menuItem_obj);
};
// 添加侦听器。
mymenubar.addEventListener("change", mbListener);