·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]xml使用方面的注意事项(各种常见问题全面介绍)

时间:2012-10-16 11:31CuPlayer.com
元素属性值必须用引号标志。这一点疏忽,导致XML格式错误,查找了好久的原因才发现

1:元素属性值必须用引号""标志。(这一点疏忽,导致XML格式错误,查找了好久的原因才发现……)
2:以下符号会导致XML错误:<、>、&、'、";只有在<![CDATA[ ]]>中,这些字符才不会被特殊对待,而看成普通的文本符号,从而不会导致错误。
3:如果一个数据元素包含多个同名的项目,用子元素去描述它;如果有大段文本,尤其是包含空白字符或者特殊字符时,用子元素。其余时候尽量使用子元素描述,降低XML层次数目。
4:创建XML两种方式
(1)使用构造函数创建。
var foo:String="<book><name>动画</name></name>";
var fooXML:XML=new XML(foo);
trace(fooXML.name);
(2)直接使用XML文本创建。
var fooXML:XML=
<book>
<name>动画</name>
</book>
注意:XML可以通过{}试用已有的变量直接构造XML(如果设置属性,则不需要加""了)。
5:访问节点属性的时候注意,标志节点的数值放在属性的后边。
eg:fooXML.site.@name[0];//表示第一个site节点的name属性。
另外,当有多个同名节点不同属性的时候,访问属性也必须加上标志节点的数值,否则返回的是一个XMLList对象,而不是XML对象。
6:只有单个的元素才可以用“.”和“@”来修改。
(1)添加一个空白节点
fooXML.site[0].name=new XML();
(添加空白节点,只声明,不实例化)
(2)以字符串添加一个子节点
fooXML.site[0].name="动画";
(3)用数组添加一个子节点
fooXML.site[0].weekvisit=[1000,2000,3000,4000];
(4)添加一个属性
fooXML.site[0].@language="chinese";
注意:删除一个元素或者属性,可以用"delete"。
eg; delete fooXML.site[0].name;
7:XML子元素和属性的搜索
(1)使用双点号..(后裔访问符)访问当前元素的所有子元素
eg:访问所有名为name的子节点,包括不同的层级
trace(fooXML..name);
(2)使用通配符*访问
eg:查找site子元素的属性,返回一个XMLList对象,并用toXMLString()方法输出
trace(fooXML.site.@*.toXMLString());
(3)使用表达式制定查找子元素的条件
eg:查找值小于1000的pageview子元素
trace(fooXML.site.(pageview<1000));
(4)使用表达式制定查找属性的条件
eg:查找site子元素中属性等于“动画”的节点
trace(fooXML.site.(@name=="动画"));
**(5)使用正则表达式自定义搜索
**8:用API实现一些常用的XML
(1)appendChild(child:Object):XML 在当前子元素列表之后添加
(2)prependChild(value:Object):XML 在当前子元素列表之前添加
(3)insertChildAfter(child1:Object,child2:Object):* 在子元素child1之后添加
(4)insertChildBefore(child1:Object,child2:Object):* 在子元素child1之前添加
(5)contains() 对比该XML对象与给定value参数
(6)elements() 列出某XML对象的元素
另外:
XML.ignoreComments=false;
XML.ignoreProcessingInstructions=false;
(打开XML的注释和指令)
打开后,可以用children()方法按顺序返回所有的子项,包括注释和指令。也可以用comments()方法得到含有注释属性的XMLList对象。
**9:XML的命名空间

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器