=波波日志 > flash/flex/fcs/AIR > Flash XML新闻系统=

[转]Flash XML新闻系统

通过这个例子可以学习:
1>如何加载与解析XML;2>如何用TextField.StyleSheet格式化文本
先看下XML的结构:
+展开
-XML
<?xml version="1.0" encoding="UTF-8"?> 
<csdeny> 
<news date="2006-02-03title="国务委员陈至立"><content>4月5日下午,国务委员陈至立在教育部长周济</content></news> 
<news date="2006-02-03title="全发"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news> 
<news date="2006-02-03title="这是"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news> 
<news date="2006-02-03title="豆腐"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news> 
<news date="2006-02-03title="也额外"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news> 
<news date="2006-02-03title="士大"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news> 
<news date="2006-02-03title="方法"><content>我国豆腐干反对广泛大会反对弧光灯法</content></news> 
</csdeny> 

下面 就是在flash中的工作了:
1>新建flash文档,设置舞台大小(我的设置是150*200)
2>拖一个TextArea组件放入舞台,设置大小和舞台大小一致,实例名为mytextarea;
3>给第一帧添加代码:
+展开
-ActionScript
var myStyles:TextField.StyleSheet=new TextField.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’}); 
var newsXML:XML=new XML();                               //申明XML类 
newsXML.ignoreWhite=true;                                //忽略空白 
newsXML.(success){ 
    if(success){ 
        parseXML();                                      //如过加载XML成功,就调用parseXML()解析XML 
    } 

newsXML.load("news.xml");                                //载入外部XML 
function parseXML(){                                     //parseXML()的定义 
    var e=newsXML.firstChild.childNodes;                   
        var total=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//解析XML并格式化文本 
            mytextarea.text+="<.title>"+e.attributes.title+"</.title>"
            mytextarea.text+="<.date>"+e.attributes.date+"</.date>"
            mytextarea.text+="<.content>"+e.firstChild.firstChild.nodeValue+"</.content><br>"
        } 
好了,很简单吧
PS:可以对myStyles扩充,flash支持的html标签还有不少:)
类别:flash/flex/fcs/AIR 作者:转载 日期:2009-06-23 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012WEB编程网桂ICP备05005887号 京公网安备1101055090