XML的相关运用

基本概念、方法及操作:

XML的全称是可扩展标记语言。XML是一种结构化的信息处理结构,方便读写。

例子   Xml1.xml

标记-tag

节点-node

属性-attribute

 

 

XML的创建

静态文档 

<?xml  version=“1.0”  encoding=“utf-8”?>//必须要指定

<users> <userid>…</userid>…</users>

内嵌代码 

var users:XML= <users><userid>…</userid>…</users>

外部加载 

URLRequest/URLLoader/

使用类方法 

var xusers:XML = new XML(“<users></users>”);

Xusers.appendChild(<userid>…</userid>);

… 

 

 

常用运算符:

.     子访问器 

@    属性标识符 

[]    索引访问符 

..    隔代子访问器

{}    以变量的形式当作节点 

 

常用的方法:

XML(): 创建新的XML 对象

attribute():返回属性值

attributes():返回属性列表

Child():列出子项 

Children():按顺序列出子项 

length():子节点数 

prependChild():首位插入新项 

appendChild():末尾追加新项 

insertChildBefore():在指定的参数1之前插入参数2的元素

insertChildAfter():在指定的参数1之后插入参数2的元素

toString():  返回子节点内容 

toXMLString():;  返回整个xml 

 

 

基本操作XML>字符串

输出XML

toString();

toXMLString();

输出XMLList

toString();

toXMLString();

输出子节点内容

xmlName.nodeName

xmlName.@attributeName

 

基本操作:字符串—>XML

var str1:String = '<name>flash</name>';

var xml2:XML = new XML(str1);

trace(xml2.toXMLString()); 

 

 

XML查询—条件检索

节点查询(String): 

xmlName.nodeName.(subNodeName==‘value’)

属性查询: 

xmlName.nodeName.(@attributeName==‘value‘)

 

 

XML查询—数据访问-节点:

子节点数据访问——节点索引值(与数组同) 

xmlName.nodeName[i] 

孙节点数据访问 

xmlName.nodeName[i].elementName

Child()方法——返回有序的XMLList对象 

xmlName.child('nodeName')

xmlName.child('nodeName')[i].child(‘elementName’) 

 

 

XML查询——数据访问-属性

@attributeName 

xmlName.nodeName[i].@attributeName 

attribute(‘attributeName’)

xmlName.nodeName[i].attribute(‘attributeName‘)

trace(xml1.node[2]);

Attributes()方法:返回给定的XML对象的属性值列表 

var xml:XML=<example id='123' color='blue'></example>;

xml.attributes()[i].name()——i=0à”id”; i=1à”color” 

 

 

删除XML节点元素

删除节点

delete  xmlName.nodeName[i];

删除子节点

delete  xmlName.nodeName[i].elementName;

删除属性

delete  xmlName.nodeName[i].@attributeName;

删除全部节点

var nodes:XMLList = xmlName.nodeName.(@attributeName==‘value');

var len:uint = nodes.length();

for(var i:uint=0; i<len; i++){

delete xml.nodes[0];

}

 

 

修改XML节点元素

修改节点内容

xmlName.nodeName[i]=‘someValue’;

修改子节点

xmlName..subNodeName[i]=‘someValue’

修改属性

xmlName.nodeName[i].@attributeName=‘someValue’;

 

 

增加XML节点元素

把结点加到最前面 

xmlName.prependChild(newNode)

把结点加到最后面 

xmlName. appendChild(newNode)

插入到指定节点之前 

xmlName. insertChildBefore(xmlName.nodeName[i], newNode)

插入到指定节点之后 

xmlName.insertChildAfter(xmlName.nodeName[i], newNode)

 

 

加载外部XML文件

定义网址请求变量(对象)

var req:URLRequest=new URLRequest("sites.xml")

定义网址数据容器 

var loader:URLLoader=new URLLoader(); 

加载数据

loader.load(req);

侦听加载过程事件

loader.addEventListener(flash.events.ProgressEvent.PROGRESS,loading_fn);

侦听加载完成事件

loader.addEventListener(Event.COMPLETE,do1_fn);

处理过程事件

function loading_fn(e) {}

处理完成事件 

function do1_fn(e) {}

posted on 2012-10-09 23:43  笔墨丹青  阅读(1385)  评论(0)    收藏  举报

导航