将Flash内部的XML转换成对象的类
2008-04-02 11:03:34来源:互联网 阅读 ()
最近写的用于分析Flash内部XML,并转换成对象的类.和大家分享.
我用了多次,能够解析较复杂的XML对象.
XmlToArray类代码如下,请保存为XmlToArray.as:
classXmlToArray
{
privatevardata:Object,xml:Object;
publicvartem_nodes:XML;
functionXmlToArray(tn:XML)
{
tem_nodes=tn;
tem_nodes.ignoreWhite=true;
}
functiontoObject():Object
{
vardata:Object=parse(tem_nodes);
returndata;
}
privatefunctionparse(node:XMLNode):Object
{
//varnode:XMLNode=tem_nodes;
varvalue:Object=newObject();
if(node.childNodes.length!=(undefined||null))
{
varnodes:Number=node.childNodes.length;
vartype:String="xml"
}else
{
vartemp_array=node;
varnodes:Number=temp_array.length;
vartype:String="array"
}
for(vari=0;i!=nodes; i)
{
if(type=="xml"[img]/images/wink.gif[/img]
{
varname:String=node.childNodes[i].nodeName;
}else
{
varname:String=node[i].nodeName;
}
if(name!=null)
{
if(value[name]!=undefined)
{
if(!(value[name]instanceofArray))
{
value[name]=newArray(value[name]);
}
if(type=="xml"[img]/images/wink.gif[/img]
{
value[name].push(getValue(node.childNodes[i]));
}else
{
value[name].push(getValue(node[i]));
}
}else
{
if(type=="xml"[img]/images/wink.gif[/img]
{
value[name]=getValue(node.childNodes[i]);
}else
{
value[name]=getValue(node[i]);
}
}
}else
{
if(type=="xml"[img]/images/wink.gif[/img]
{
value=getValue(node.childNodes[i]);
}else
{
value=getValue(node[i]);
}
}
}
varattributes:Object=getAttributes(node);
if(attributes!=null)
{
if(nodes!=0)
{
if(!(valueinstanceofXMLNode))
{
for(variinvalue)
{
attributes[i]=value[i];
}
}else
{
attributes[’_val’]=value.nodeValue;
}
}
returnattributes;
}
returnvalue;
}
privatefunctiongetAttributes(node:XMLNode):Object
{
varattributes=newObject();
for(variinnode.attributes)
{
attributes[i]=node.attributes[i];
}
returni!=undefined?attributes:null;
}
privatefunctiongetValue(node:XMLNode):Object
{
switch(node.nodeType)
{
case1:
returnparse(node);
case3:
returnnode.toString();
}
returnnull;
}
privatefunctionfinalize()
{
deletexml;
}
}
varxml=newXML("<CourseWare><name>AAAAA</name></CourseWare>");
xml.ignoreWhite=true;
varmy_xml=newXmlToArray(xml);
vara:Object=my_xml.toObject();
//a就是转换出来的对象。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: FLASHMX2004制作缓冲断层效果
下一篇: AS2.0static关键字
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash