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;


發佈了44 篇原創文章 · 獲贊 1 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章