Flex4_操作XML

来源:互联网 发布:saas软件合同 编辑:程序博客网 时间:2024/05/16 12:54

 

转自:http://www.cnblogs.com/lovemoon714/archive/2012/05/28/2521315.html

 

一、创建XML类

1、把字符串对象转换为XML:

var xmlStr:String="<students><student><name>吕布</name><sex>男</sex><age>27</age></student>";xmlStr+="<student><name>貂蝉</name><sex>女</sex><age>26</age></student></students>";var rootXML:XML=new XML(xmlStr);trace(rootXML);

2、调用XML类,(以下实例以此MXL为样本):

复制代码
var rootXML:XML=   <students>      <student>          <name>刘备</name>          <sex></sex>          <age>35</age>      </student>      <student>          <name>吕布</name>          <sex></sex>          <age>38</age>      </student>      <student>          <name>貂蝉</name>          <sex></sex>          <age>22</age>      </student> </students>;
复制代码

3、添加子节点(节点存在,则修改,不存在则添加):

rootXML.student[0].mz="回族"; //使用节点变量var newChild:String="mz";rootXML.student[1][newChild]="苗族";//使用节点索引rootXML.children()[2].mz="汉族";

4、添加节点内容:

复制代码
//添加子节点var newXML:XML=    <fen>          <java>99</java>          <delphi>86</delphi>          <flex>93</flex>    </fen>;//位于其它子节点尾部。rootXML.student[0].appendChild(newXML);//位于其它子节点首部rootXML.student[1].prependChild(newXML);//添加同级节点newXML=    <student>        <name>西施</name>        <sex>女</sex>        <age>18</age>    </student>//选择节点之前rootXML.insertChildBefore(rootXML.student[0],newXML);//选择节点之后rootXML.insertChildAfter(rootXML.student[1],newXML);
复制代码

5、添加属性(有则修改,无则添加)

rootXML.student[0].@id="1000"var newid:String="id";rootXML.student[1].@[newid]="2000";

6、读取属性

trace(rootXML.student[0].@id);trace(rootXML.student[0].attribute("id"));

7、查找遍历节点和属性

复制代码
//根据节点内容查节点trace(rootXML.student.(name=="刘备"));//根据节点属性查节点trace(rootXML.student.(@id=="1002"));//得到某节点的父节点内容trace(rootXML.student[0].name.parent());var i:int=0;for(i=0;i<rootXML.children().length();i++){    //打印每个学生的信息    trace(rootXML.children()[i].toString());    //打印每个学生的名称    trace(rootXML.children()[i].name);    //打印每个学生的性别    trace(rootXML.student[i].sex);    //打印每个学生的的属性ID    trace(rootXML.children()[i].@id);    //打印节点名称(标签,不是值)    trace(rootXML.children()[i].name());    //遍历每个节点的所有属性标签名称    var attLen:int=rootXML.children()[i].attributes().length();    for(var j:int=0;j<attLen;j++){        //属性名称        var attName:String=rootXML.children()[i].attributes()[j].name();        trace(attName);        //属性值        var attValue:String=rootXML.children()[i].@[attName];        trace(attValue);    }}
复制代码

 

 

8、删除节点或属性

//删除节点delete rootXML.student[0].sex;//删除属性delete rootXML.student[0].@id;
原创粉丝点击