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的命名空间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯智能台灯

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值