前面我学过了tree组件的用法,知道了组件事件侦听器以及如何通过addTreeNode向tree中添加xml格式的数据。今天我们来看看另一种更为简单的方法—读入外部的xml文件将数据加入到tree组件中~~
闲话少说,先建立一个xml文件—myxml.xml。文件内容:
<?xml version="1.0" encoding="GB2312"?>
<node label = "溶剂空间" data="http://www.ayyz.net/grzy/sbg/access/index.asp">
<node label = "文章">
<node label = "相关文章" data="http://www.ayyz.net/grzy/sbg/access/Article_Index.asp">
<node label="转摘文章" data="http://www.ayyz.net/grzy/sbg/access/Article_Class2.asp?ClassID=2" />
<node label="原创文章" data="http://www.ayyz.net/grzy/sbg/access/Article_Class2.asp?ClassID=11" />
</node>
<node label = "flash动画" data="http://www.ayyz.net/grzy/sbg/access/Article_Class2.asp?ClassID=12">
<node label="原创动画" data="http://www.ayyz.net/grzy/sbg/access/Article_Class2.asp?ClassID=12" />
</node>
</node>
<node label="留言">
<node label="网上留言" data="http://www.ayyz.net/grzy/sbg/access/guestbook.asp" />
<node label="电话留言" data="123456789" />
</node>
</node>
<node label = "关于溶剂">
<node label = "简介">
<node label = "姓名" data="solventsky" />
<node label = "性别" data="boy"/>
<node label = "婚姻状况" data="true"/>
</node>
<node label = "联系">
<node label = "QQ" data="50872625"/>
<node label = "Email" data="solventsky@hotmail.com"/>
<node label = "MSN" data="solventsky@hotmail.com"/>
</node>
</node>
然后,打开一个flash2004文档,保存在同一个目录下。拖入一个tree组件命名为myTree,拖入一个TextArea组件命名为mytextArea,然后在第一帧写上:
System.useCodepage = true;//防止乱码
myTreeXML = new XML();//建立一个xml对象
myTreeXML.ignoreWhite = true;//忽略其中的空格
myTreeXML.load("myxml.xml");//载入xml文件
myTreeXML.onLoad = function(success) {
if (success) {
myTree.dataProvider = myTreeXML;//如果载入成功,为tree组件指定数据源
} else {
mytextArea.text = "No success!!";
}
};
//下面仍然是组件的监听
myTreeListener = new Object();
myTreeListener.change = function(溶剂) {
var thedata = 溶剂.target.selectedItem.attributes.data;
if (thedata.indexOf("http", 0) == -1) {
mytextArea.text = thedata;
} else {
getURL(thedata);
}
};
myTree.addEventListener("change", myTreeListener);
怎么样,这个简单吧~~~~~hahaha~~~~~赶快行动,自己做一个吧。效果预览