Home >Backend Development >XML/RSS Tutorial >Detailed introduction to the application of XML in FLASH
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 "8a82eb472d64dd53782fcc091813a312" on the first line and end with "7ee008aaf03e282f5b261dc7c3d7ec42" , 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 "1489d7a824a6a327ea356625ebbfd251content313ec86217575972f09783f4ac3a87d2". If the content is empty, it should be written in The format of 313ec86217575972f09783f4ac3a87d2; that is, it must be followed by da7a5c458c43e8ac4398bd2378cdb6be. Every XML has a root element, also called the root node. Nodes have node values and attributes. If the XML node value contains the same characters as XML tag keywords, XML will not be able to parse the document. For example, if a node value is a greater than or less than sign, the interpreter will generate an error.
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!