当前位置:七道奇文章资讯设计学堂Flash设计
日期:2009-04-04 00:21:00  来源:本站整理

<b>将Flash内部的XML转换成对象的类</b>[Flash设计]

赞助商链接



  本文“<b>将Flash内部的XML转换成对象的类</b>[Flash设计]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
近来写的用于解析Flash内部XML,并转换成对象的类.与大家分享.
我用了多次,可以解析较复杂的XML对象.
XmlToArray类代码以下,请保存为XmlToArray.as:
import mx.events.EventDispatcher;
class XmlToArray
{
private var data : Object, xml : Object;
public var tem_nodes : XML;
function XmlToArray (tn : XML)
{
tem_nodes = tn;
tem_nodes.ignoreWhite = true;
}
function toObject () : Object
{
var data : Object = parse (tem_nodes);
return data;
}
private function parse (node : XMLNode) : Object
{
//var node:XMLNode = tem_nodes;
var value : Object = new Object ();
if (node.childNodes.length != (undefined || null))
{
var nodes : Number = node.childNodes.length;
var type : String = "xml"
} else
{
var temp_array = node;
var nodes : Number = temp_array.length;
var type : String = "array"
}
for (var i = 0; i != nodes; ++ i)
{
if (type == "xml"
{
var name : String = node.childNodes [i].nodeName;
} else
{
var name : String = node [i].nodeName;
}
if (name != null)
{
if (value [name] != undefined)
{
if ( ! (value [name] instanceof Array))
{
value [name] = new Array (value [name]);
}
if (type == "xml"
{
value [name].push (getValue (node.childNodes [i]));
} else
{
value [name].push (getValue (node [i]));
}
} else
{
if (type == "xml"
{
value [name] = getValue (node.childNodes [i]);
} else
{
value [name] = getValue (node [i]);
}
}
} else
{
if (type == "xml"
{
value = getValue (node.childNodes [i]);
} else
{
value = getValue (node [i]);
}

}
}
var attributes : Object = getAttributes (node);
if (attributes != null)
{
if (nodes != 0)
{
if ( ! (value instanceof XMLNode))
{
for (var i in value)
{
attributes [i] = value [i];
}
} else
{
attributes [’_val’] = value.nodeValue;
}
}
return attributes;
}
return value;
}
private function getAttributes (node : XMLNode) : Object
{
var attributes = new Object ();
for (var i in node.attributes)
{
attributes [i] = node.attributes [i];
}
return i != undefined ? attributes : null;
}
private function getValue (node : XMLNode) : Object
{
switch (node.nodeType)
{
case 1 :
return parse (node);
case 3 :
return node.toString ();
}
return null;
}
private function finalize ()
{
delete xml;
}
}

用法:

import XmlToArray;
var xml = new XML("<CourseWare><name>AAAAA</name></CourseWare>");
xml.ignoreWhite = true;
var my_xml = new XmlToArray(xml);
var a:Object = my_xml.toObject();
//a就是转换出来的对象.

  以上是“<b>将Flash内部的XML转换成对象的类</b>[Flash设计]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .