[as3工具类]XML数据直接转换成as3类
平时做游戏开发的时候,很大程度上都会采用xml来做配置文件。有时候需要写很多,然后又需要依次去解析。如果有一个工具来自动解析每一个xml,并且提取出自己需要的数据,多好呀。所以偷了个懒,写了一个解析一定格式的xml和解析类,把这个格式丢给策划自己去调整数据啦。同时自己这边只需要接受现成的类
注意,这里的指的类,一般是自定义的数据结构(类似javaBean,使用的都是属性值)。这样通过访问有数据类型定义的类,比直接访问xml的属性来得方便多了,而且也省了数据类型的转换的麻烦
(当然,这里只是开了个头,需要做好的地方还有很多,也包括其他的文件,例如csv等)
先看一下程序:
package
{
import flash.display.Sprite;
import flash.system.ApplicationDomain;
import org.sujun.utils.XMLUtils;
import test.TestBean;
import test.TwoBean;
public class TestXML extends Sprite
{
//反射需要用到,所以必须先声明
private var testBean :TestBean;
private var twoBean :TwoBean;
//xml文件。这里为了方便,直接写在代码里,实际可以从外部加载
private var xml :XML =
<testBean type="class" path="test.TestBean">
<!-- 注意,字符串,数值类型是可以不设置type的 -->
<attribute name="name" value="sodaChen" />
<attribute name="age" value="18" />
<attribute name="flag" type="Boolean" value="true" />
<!-- 数组内容描述 -->
<attribute name="urls" type="array" >
<attribute type="int" value="18" />
<attribute type="string" value="soda" />
<!-- 数组里包含一个对象 -->
<attribute type="class" value="test.TwoBean" >
<attribute name="name" value="www.sujun.org" />
<attribute name="has" value="true" />
</attribute>
</attribute>
<attribute name="twoBean" type="class" value="test.TwoBean&
相关文档:
<?xml version="1.0" encoding="utf-8"?>
<userdata createuser="false">
<dataconnection>
<server>xml test</server>
<uid>sa</uid>
<pwd>sa</pwd>
</dataconnection> ......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml;
namespace WebApplication2
{
/// <summary>
/// XMLHelper XML文档操作管理器
&nb ......
XML的产生?
XML的全称是Extensible Markup Language,意思是可扩展的标记语言,它是标准通用标记语言(Standard Generalized Markup Language, SGML)的一个子集。SGML功能非常强大,是可以定义标记语言的元语言。
W3C组织于2004年2月4日,发布了XML1.1的推荐标准,这是最新的XML版本,不过目前大多数的应用还是基于XML1.0的 ......
转自江边孤鸟: http://blog.csdn.net/jbgh608/archive/2007/08/31/1767414.aspx
W3school 的xsl教程: http://www.w3school.com.cn/xsl/index.asp
产品几年前使用ASP,后来升级到.Net 1.1,再升级到2.0,一直都有用XSLT转换XML生成网页的方式,稍微整理下。
XML file:
<?xml version="1.0"& ......
能读写任何XML配置文件,能实现用户层面的加解密,以下代码中的B64E函数为加密函数,B64D为解密函数,可以自己编写
生成的XML根节点为ZBS,可以替换为其它有意义的节点名称
Option Explicit
Public xmlDoc As DOMDocument
Public aNode As IXMLDOMElement '当前激活Node
Public xmlFilePath As String, ReadOnly As Bo ......