(14)解析完XML文件,将其打印出来。
AS3代码
/*XML文件获取转化*/ private function loadComplete(event:Event):void { XML.ignoreWhitespace = true; var str:String=event.target.data; str=str.slice(0,str.lastIndexOf(">")+1); getXML = new XML(str); allPage =Number(getXML.@total) if (allPage % 10==0) { allPage=int(allPage/10) }else { allPage=int(allPage/10)+1 } controlBar.showTxt.text="当前第"+thenPage+"页 总共"+allPage+"页" printItem(); } /*打印留言列表*/ private function printItem():void { msgBox.visible = false; writeBox.visible = false; writeBox.inputBox.visible=true; writeBox.sendDia.visible=false; var setY=0; if (itemBox!=null) { removeChild(itemBox); } itemBox=new Sprite; itemBox.x=50; itemBox.y=50; addChild(itemBox); for (var i:uint; i<getXML.child("*").length(); i++) { item=new Item(); item.y=setY; setY+=23; item.title.text=getXML.child(i).@title; item.date.text=getXML.child(i).@date; item.id=i; itemBox.addChild(item); } } |
技术看板:AS代码解释
第49~51行,如果itemBox已经有了,先移除。
第52行,itemBox用来放置所有item显示条。
第60行,读取XML中的“title”属性即留言标题。
第61行,读取XML中的“date”属性即留言日期。
(15)先测试下如图14-6 所示。
图14-6 XML列表转化测试
(16)接着往下做,制作控制框“ControlBar”,绘制翻页用的按钮和显示页数信息的框,各命名如图14-7 所示。
图14-7 代码
(17)翻页代码。
AS3代码
/*XML文件获取转化*/ private function loadComplete(event:Event):void { XML.ignoreWhitespace = true; var str:String=event.target.data; str=str.slice(0,str.lastIndexOf(">")+1); getXML = new XML(str); allPage =Number(getXML.@total) if (allPage % 10==0) { allPage=int(allPage/10) }else { allPage=int(allPage/10)+1 } controlBar.showTxt.text="当前第"+thenPage+"页 总共"+allPage+"页" printItem(); } private function prevPageFun(event:MouseEvent):void { if (thenPage > 1) { loadPage(thenPage-1) } } private function nextPageFun(event:MouseEvent):void { if (thenPage < allPage) { loadPage(thenPage+1) } } |
技术看板:AS代码解释
第65行,显示当前页和总页数信息。
第68~71行,上翻一页。
第73~77行,下翻一页。
(18)点击留言列表后,显示详细信息,制作信息显示框“msgBox”如图14- 8 所示。
图14- 8 信息显示框
(19)显示详细数据。
AS3代码
/*显视留言内容*/ private function showMsgFun(id:Number):void { removeChild(itemBox); itemBox=null; msgBox.visible = true; msgBox.showName.text = getXML.child(id).@name; msgBox.qq.text = getXML.child(id).@qq; msgBox.title.text = getXML.child(id).@title; msgBox.msg.htmlText = getXML.child(id).@msg; } |
(20)测试下如图14-9 所示。
图14- 9测试