通过这个例子可以学习:
1>如何加载与解析XML;2>如何用TextField.StyleSheet格式化文本
先看下XML的结构:
<?xmlversion="1.0"encoding="UTF-8"?>
<csdeny>
<newsdate="2006-02-03"title="国务委员陈至立"><content>4月5日下午,国务委员陈至立在教育部长周济</content></news>
<newsdate="2006-02-03"title="全发"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news>
<newsdate="2006-02-03"title="这是"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news>
<newsdate="2006-02-03"title="豆腐"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news>
<newsdate="2006-02-03"title="也额外"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news>
<newsdate="2006-02-03"title="士大"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news>
<newsdate="2006-02-03"title="方法"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news>
</csdeny>
下面 就是在flash中的工作了:
1>新建flash文档,设置舞台大小(我的设置是150*200)
2>拖一个TextArea组件放入舞台,设置大小和舞台大小一致,实例名为mytextarea;
3>给第一帧添加代码:
varmyStyles:TextField.StyleSheet=newTextField.StyleSheet();//申明myStyles为StyleSheet类
myStyles.setStyle(".title",//设置标题显示样式
{fontFamily:’宋体,_sans’,
fontSize:’12px’,
color:’#003300’,
textAlign:’left’});
myStyles.setStyle(".date",//设置时间显示样式
{fontFamily:’Arial’,
fontSize:’9px’,
color:’#990000’,
textAlign:’right’});
myStyles.setStyle(".content",//设置内容显示样式
{fontFamily:’宋体,_sans’,
fontSize:’12px’,
color:’#003300’,
textAlign:’left’});
varnewsXML:XML=newXML();//申明XML类
newsXML.ignoreWhite=true;//忽略空白
newsXML.onLoad=function(success){
if(success){
parseXML();//如过加载XML成功,就调用parseXML()解析XML
}
}
newsXML.load("news.xml");//载入外部XML
functionparseXML(){//parseXML()的定义
vare=newsXML.firstChild.childNodes;
vartotal=e.length;
mytextarea.wordWrap=true;//设置TextArea可以自动换行
mytextarea.editable=false;//TextArea不可编辑
mytextarea.hScrollPolicy=off;//TextArea横向滚动条关闭
mytextarea.html=true;//支持XML
mytextarea.styleSheet=myStyles;//调用前面设置好的样式
for(i=0;i<total;i++){//解析XML并格式化文本
mytextarea.text+="<.title>"+e[i].attributes.title+"</.title>";
mytextarea.text+="<.date>"+e[i].attributes.date+"</.date>";
mytextarea.text+="<.content>"+e[i].firstChild.firstChild.nodeValue+"</.content><br>";
}
}
好了,很简单吧
PS:可以对myStyles扩充,flash支持的html标签还有不少:)