Flex4_操作XML

一、创建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;

你可能感兴趣的:(flex4)