Click here to browse the Flash Tutorial column
Regarding the application of XML in FLASH, I have written several articles before. I also collected several articles from the Internet. However, they are all very simple and commonly used ones. Here, I summarize other related explanations of XML. If there are any shortcomings, I hope everyone can complement each other. Just for a common purpose: to improve together.
1. Requirements for writing standard XML
Click here to browse the Flash Tutorial column
Regarding the application of XML in FLASH, I have written several articles before. I also collected several articles from the Internet. However, they are all very simple and commonly used ones. Here, I summarize other related explanations of XML. If there are any shortcomings, I hope everyone can complement each other. Just for a common purpose: to improve together.
1. When writing standard XML, you need to pay attention to the following points:
list
- paddingleft-2">
A standard XML document must start with "" on the first line and end with "/>" , the beginning of which needs to declare the XML version, such as: version="1.0", and should also include a statement about encoding: "encoding="utf-8"";
XML requires that all tags must be closed before the end of the document. If the tag contains content, it must be written in the format of "
2. Create a simple instance in FLASH:
//创建一个新的XML类实例 var my_XML:XML=new XML(); //创建一个TextArea组件,用于显示此XML内容 var my_TextArea:mx.controls.TextArea; //加载外部XML文件 my_XML.load("my_xml.xml"); //为load函数定义onLoad函数---此处是必须的。只有当加载成功后,才能控制XML。否则不能。 my_XML.onLoad=function(ok:Boolean){ if(ok){ my_TextArea.text =this; }else{ my_TextArea.text ="加载失败..." } } //忽略空白: my_XML.ignoreWhite=true;
3. Detailed explanation on FLASH parsing XML, To put it bluntly, it is the reading of nodes.
First of all, let’s take a look at this picture and add a little impression.
Below, I will give a detailed introduction to the parsing of XML files.
For the convenience of explanation, here I give a simple example.
1、新建一个记事本文件,在里面输入如下内容: <购买物品> <衬衣 颜色="白色" 品牌="雅戈尔">1件</衬衣> <裤子 颜色="深蓝" 品牌="王子裤">2件</裤子> <鞋子 颜色="黑色" 品牌="红蜻蜓">3双</鞋子> <总花费金额> <打的费>50元</打的费> <货物金>1000元</货物金> </总花费金额> </购买物品> 然后保存为"goods.xml",注意,在编码处,要选择"Unicode"。 2、下面,就对里面的各项值进行解读。 读取整个XML文件的方法: 在刚才的XML的同级目录下新建一FLA文件,然后在场景中放置一TextArea组件。并赋实例名“my_TextArea”, 然后在第一帧中添加如下代码: var my_XML:XML=new XML(); System.useCodepage=true; var my_TextArea:mx.controls.TextArea; my_XML.load("goods.xml") my_XML.onLoad=function(ok:Boolean){ if(ok){ my_TextArea.text =this; }else{ my_TextArea.text ="加载失败" } } 按CTRL ENTER测试,即可以看效果。 首先,我们来看看如何对XML中的节点名称或者节点属性进行读取呢? 比如,我们要读取如例子中的"购买物品"这几个字符,该如何操作呢? 我们使用如下语句: this.firstChild.nodeName; 如果要读取"衬衣": this.firstChild.childNodes[0].nodeName; 如果要读取"1条": this.firstChild.childNodes[1].childNodes[0].nodeValue; 如果要读取裤子的品牌: this.firstChild.childNodes[1].attributes.品牌; 将XML读取进LIST组件中: System.useCodepage = true; var my_TextArea:mx.controls.TextArea; var my_List:mx.controls.List; var my_XML:XML = new XML(); my_XML.ignoreWhite = true; my_XML.load("shopping.xml"); my_XML.onLoad = function(ok:Boolean) { if (ok) { var childnodes = this.firstChild.childNodes; for (i=0; i<childnodes.length; i ) { my_List.addItem({label:childnodes.nodeName}); } } else { my_TextArea.text = "加载失败"; } }; 第一个节点:firstChild: 用法:this.firstChild; 最后一个节点:lastChild 用法:this.firstChild; 兄弟节点:nextSibling: 用法:this.firstChild.childNodes[0].nextSibling; 另一个兄弟节点:previousSibling: 用法:this.firstChild.childNodes[0].previousSibling; 区别:nextSibling是朝后,而previousSibling是当前之前; 父类节点:parentNode: 用法:this.firstChild.parentNode;
The above is the detailed content of Detailed introduction to the application of XML in FLASH. For more information, please follow other related articles on the PHP Chinese website!