xml节点详解

xml节点详解

ID:22018270

大小:181.33 KB

页数:5页

时间:2018-10-26

xml节点详解_第1页
xml节点详解_第2页
xml节点详解_第3页
xml节点详解_第4页
xml节点详解_第5页
资源描述:

《xml节点详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2012-05-1511:10【转】XML节点的认识XML文件就像一个树状的目录。可以把第一行当作它扎根的“土地”。    XML文件是由节点构成的。它的第一个节点为“根节点”。一个XML文件必须有且只能有一个根节点,其他节点都必须是它的子节点。我们在FLASH里使用XML对象解析XML的时候,this代表整个XML文件,它的根节点就是this.firstChild。this.firstChild.childNodes则返回由根节点的所有子节点组成的节点数组。    每个子节点又可以有自己的子节点。节点编

2、号由0开始,根节点的第一个子节点为this.firstChild.childNodes[0],它的子节点数组就是this.firstChild.childNodes[0].childNodes。    继续深入到没有子节点的单一节点,比如根节点第一个子节点的第二个子节点this.firstChild.childNodes[0].childNodes[1],它返回的是一个XML对象(Object)。这里需要特别注意,节点标签之间的数据本身也视为一个节点this.firstChild.childNodes[0

3、].childNodes[1].firstChild,而不是一个值。    我们解析XML的最终目的当然就是获得数据的值:this.firstChild.childNodes[0].childNodes[1].firstChild.nodeValue。注意!不是this.firstChild.childNodes[0].childNodes[1].nodeValue!节点名称有时也是我们需要的数据:this.firstChild.childNodes[0].childNodes[1].nodeName。注

4、意比较获得节点名称和节点值的不同。    除了作为子节点,数据还可以作为节点属性。节点属性写在节点标签内部:<节点属性1="属性值"属性2="属性值"......>节点值。如果数据全作为属性而没有节点值,则可以写成<节点属性="属性值"/>的形式,而不用写成<节点属性="属性值">。注意节点必须关闭,写成<节点属性="属性值">就不对了。  节点的所有属性返回一个通用对象(Object),比如根节点第六个子节点的第三个子节点的所有属性为:this.firstChild.childNodes[5].chil

5、dNodes[2].attributes。获得其中的“地址”属性:this.firstChild.childNodes[5].childNodes[2].attributes.地址。    比较而言,数据作为属性的方式更好。因为文件相对比较小,而且避免深入更多层子节点,解析速度更快。  下面以简历的JobXMLModel类(模型)看看在flash里具体的解析。JobXMLModel类继承XML类,首先在构造函数里设置ignoreWhite属性为true忽略XML文件中多余的空格。  //构造函数  pub

6、licfunctionJobXMLModel(){  ignoreWhite=true;  }  //覆盖XML类的onLoad事件  privatefunctiononLoad():Void{  //变量tmpA存储根节点的节点数组。  vartmpA:Array=this.firstChild.childNodes;  //把tmpA的长度存储在tmpL变量里。  vartmpL:Number=tmpA.length;  //以根节点第一、第六个子节点为例,同样存储数组长度变量  varbasicIn

7、foL:Number=tmpA[0].childNodes.length;  varmyWorksL:Number=tmpA[5].childNodes.length;  //根节点子节点的节点名称存入数组  for(vari:Number=0;i  项目列表.push(tmpA[i].nodeName);  }  //第一个子节点数据作为子节点  for(vari:Number=0;i  //单一节点返回一个XML对象,用一个变量tmpO存储它  vartmpO:Object=tmpA[0].child

8、Nodes[i];  //把每个节点的名称和节点值作为通用对象(Object)的属性存在数组里  基本资料.push({title:tmpO.nodeName,content:tmpO.firstChild.nodeValue});  }  //第六个子节点数据作为节点属性  for(vari:Number=0;i  vartmpO:Object=tmpA[5].childNodes[i];  //把节点名称和节点属性作为通用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。