XMLDocument与XML的区别和联系

一、构造方法有点不同;

1,xml可以这样构造:

var xml:XML=

<root>
    <name sex="男" nation="汉族">
        <f>张</f>
        <l>三</l>
    </name>
    <name sex="男" nation="佤族">
        <f>李</f>
        <l>四</l>
    </name>
    <name sex="女" nation="汉族">
        <f>王</f>
        <l>五</l>
    </name>
</root>

 

XMLDocument则不可以这样构造。

2,如果载入外部数据或根据字符串生成实例,xml可以直接把字符串传进构造函数的参数里。XMLDocument则不可以,必须解析:

myXD.ignoreWhite=true;

myXD.parseXML(str)

 当然:parseXML("这里面的参数也可以是xml");

二、trace()时,显示的结构不一样(或许这并不是主要的);

XMLDocument与字符串形式显示如:

trace(xmlDocument):

<root><name sex="男" nation="汉族"><f>张</f><l>三</l></name><name sex="男" nation="佤族"><f>李</f><l>四</l></name><name sex="女" nation="汉族"><f>王</f><l>五</l></name></root>

XML以结构化的形式显示如

trace(xml);

<root>
  <name sex="男" nation="汉族">
    <f>张</f>
    <l>三</l>
  </name>
  <name sex="男" nation="佤族">
    <f>李</f>
    <l>四</l>
  </name>
  <name sex="女" nation="汉族">
    <f>王</f>
    <l>五</l>
  </name>
</root>

三、访问节点的方法不同:

1,XMLDocument必须用firstChild方法逐级定位到相应节点。

方法一:输出某节点下的第一个节点:

trace(xmlD.firstChild.firstChild.firstChild.firstChild)//输出:张;

XMLDocument与方法节点相关的属性还有:lastChild parentNode nextSibling previousSibling

方法二:输出某节点的所有节点:

trace(xmlD.firstChild.firstChild.childNodes)//输出:<f>张</f>,<l>三</l>

2,xml可以用(.)点操作符或(..)后代存取符直接定位到节点上。

    也可以用children()方法访问当前节点的的所有子节点和用children()[索引]方法访问当前节点下的某一个子节点。

trace(xml..f[0]);//输出:张:类型:XML 输出标签为f的第一个节点。

trace(xml..f)//输出:类型:XMLList 输出标签为f的所有节点。

<f>张</f>
<f>李</f>
<f>王</f> 

trace(xml.name.children());//输出name下的所有节点,不管标签是f还是l还是其它。

补充说明:xml.name与xml.name.children()的区别:

xml.name:输出标签名为name的所有节点。

xml.name.children():输出标签名为name的所有子节点。

注意:children()是方法而不是属性,ADOBE是出于这样的考虑:防止把children当作XML文档下的一个节点处理。另:也可以在节点前加一个child 作用是一样的,相当于as3里面的类型转换,但是,使用了child就不能使用后代存取器(..)

四、访问属性的方法不同:

1,XMLDocument用 attributes.属性名访问属性:

需要说明的是attributes获得的是当前节点的所有属性而非所有节点的所有属性。

2,XML 用 @属性名,attribute()attributes()方法访问属性。注意,在XMLDocumentj里attribtes是属性而不是方法; 

五、访问节点名:既:标签,元素(element)

1,XMLDocument用 nodeName访问节点名。

2,XML用name():含有命名空间 或 localName():不包含命名空间 访问节点名。如:

trace(xml.children()[0].localName())//输出:name 

六、添加子项:

都使用appendChild()方法;

xml.appendChild("参数是一个xmllist");

xmlD.appendChild("参数是一个节点")//其中,标签节点可以appendChild文本节点,级级添加。

七、其它注意事项。

XMLDocument没有toXMLString()方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值