AS 3 学习笔记【22】(原创连载)
写了一个小时的东西,没了。烦躁了,我不想写了,只想说,XML很重要,没了。。。。。。
昨天写的没了不爽,再不爽也不能断,好歹是挂了技术团几个子,甭管是否真技术吧。补全开始
*XML简要介绍
XML是一种用来描述数据的语言,是Extensible Markup Language的所写,译为可扩展标记语言。XML主要关注两点:什么是数据,以及如何存放数据。
XML简明语法:
- XML文档必须有一个根元素,而且只能有一个。
- 开始标记和结束标记必须成对出现。当一个节点为空时,可以简写。例如:<name></name>可以简写成<name/>
- 所有的XML元素必须合理嵌套。
- XML标记区分大小写。
- XML元素命名必须遵守下面规则:
a、元素名字可以包含字母、数字和其他字符。
b、元素名字不能以数字或者标点符号开头。
c、元素名字不能以任何XML这3个字母开头。(xml、xMl、xML、Xml……等等)
d、元素名字不能包含空格。
- XML注释写法:<!--注释内容-->
- 在XML文档中的所有文本都会被解析器解析。只有在CDATA部件之内的文本会被解析器忽略。因为<、>、&、'和"这5种符号是XML语法保留的,所以当文本中出现这些符号,可能导致整个XML文本解析出错。
*创建XML对象
创建XML对象有两种方式:一种是使用构造函数;另一种是使用简洁明快的XML文本直接创建。
使用构造函数创建XML对象:
使用XML文本创建XML对象:
*使用运算符操作XML数据
使用“.”与“@”直接访问XML对象:基本用法是用“.”来访问元素,用“@”来访问属性。同名的子元素是成为一个XMLList对象,是XML对象集合。可以用数组访问符“[ ]”访问。
使用“.”与“@”直接修改XML对象:上面看到的是访问,就是取值。修改就是赋值,覆盖掉原有值。和C封装是写的存储方法一个意思。使用也没有区别。
使用“.”与“@”直接添加和删除子元素和属性:
- 增加:
代码:
var xml :XML =
<school>
<clAss name="Tcs245">
</clAss>
</school>
//添加一个空白节点
xml.clAss[0].student = new XML();
//以字符串添加一个子节点
xml.clAss[0].student = "无奈的帅";
//用数组添加一个子节点
xml.clAss[0].area = ["中国","北京"];
//添加一个属性
xml.clAss[0].@people = 24人;
trace(xml.clAss);
/*
<clAss name="Tcs245" people="24">
<student>无奈的帅</student>
<area>中国,北京</area>
</clAss>
*/ - 删除:使用delete 关键字。
复制内容到剪贴板
代码:
var xml :XML =
<school>
<clAss name="Tcs245" people="24人">
<student>无奈的帅</student>
</clAss>
</school>
delete xml.clAss[0].student; //删除子元素
delete xml.clAss[0].@people; //删除属性
trace(xml);
/*
<school>
<clAss name="Tcs245"/>
</school>
*/
简单方便地搜索XML子元素和属性:有4种基本用法
- 使用双点号“..”,又称为后裔访问符,访问当前元素所有子元素。
- 使用通配符“*”访问。
- 使用表达式制定查找子元素的条件。
- 使用表达式制定查找属性的条件。
复制内容到剪贴板
代码:
var xml:XML =
<websites>
<site name="北大青鸟论坛" date="08-11-1">
<people>1000</people>
</site>
<site name="北大青鸟" date="08-8-1">
<people>2000</people>
</site>
</websites>
//用法1,访问所有哦为people的子节点,包括不同层级
trace(xml..people);
//用法2,查找site子元素属性,返回XMLList对象,用toXMLString()方法输出
trace(xml.site.@*.toXMLString());
//用法3,查找小于2000的people子元素,像SQL里的where
trace(xml.site.(people < 2000));
//用法4,查找site子元素中属性等于北大青鸟的节点
trace(xml.site.(@name == "北大青鸟"));
使用正则表达式或自定义函数搜索XML子元素和属性:
总结:总算重新写完了,还是稍微偷懒了。不过绝对不会影响。正则与XML都是分离于咱们的语言的,也就是说正则与XML不是专属于某一语言。只是各种语言对其操作有了变化而已。掌握根本,熟悉操作就可以了。









