Maison  >  Article  >  développement back-end  >  Introduction détaillée à l'application de XML en FLASH

Introduction détaillée à l'application de XML en FLASH

黄舟
黄舟original
2017-03-23 17:07:491536parcourir

Cliquez ici pour parcourir la colonne Tutoriel Flash J'ai déjà écrit plusieurs articles sur l'application du XML en FLASH. J'ai également collecté plusieurs articles sur Internet. Cependant, ils sont tous très simples et couramment utilisés. Ici, je résume d'autres explications connexes de XML. S'il y a des lacunes, j'espère que tout le monde pourra se compléter. Juste dans un but commun : progresser ensemble. 1. Exigences pour l'écriture du XML standard Cliquez ici pour parcourir la colonne Tutoriel Flash Concernant l'application de XML dans FLASH, j'ai déjà écrit plusieurs articles. J'ai également collecté plusieurs articles sur Internet. Cependant, ils sont tous très simples et couramment utilisés. Ici, je résume d'autres explications connexes de XML. S'il y a des lacunes, j'espère que tout le monde pourra se compléter. Juste dans un but commun : progresser ensemble.
1. Lors de l'écriture de XML standard, vous devez faire attention aux points suivants :

  1. liste

  2. - paddingleft-2">

  3. Un document XML standard doit commencer par "8a82eb472d64dd53782fcc091813a312" sur la première ligne et se terminer par "b752a7c2d99b1edc84e9d0db256f214econtenua57a55594b497483b55bb9131776362c". doit être écrit au format 313ec86217575972f09783f4ac3a87d2, c'est-à-dire qu'il doit être suivi de da7a5c458c43e8ac4398bd2378cdb6be. Chaque XML possède un élément racine, également appelé nœud racine. Les nœuds ont des valeurs de nœud et des attributs . Si la valeur du nœud XML contient les mêmes caractères que les mots-clés de la balise XML, XML ne pourra pas analyser le document. Par exemple, si une valeur de nœud est un signe supérieur ou inférieur, l'interpréteur générera une erreur.

2. Créez une instance simple dans 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. À propos de l'analyse XML de FLASH Explication détaillée. , pour parler franchement, c'est la lecture des nœuds.
Tout d’abord, jetons un coup d’œil à cette photo et faisons-nous une petite impression.


Ci-dessous, je vais donner une introduction détaillée à l'analyse des fichiers XML.
Pour faciliter l'explication, je vais donner ici un exemple simple.

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;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn