flex基礎篇三 操作xml的e4x常用方式。

因爲flex與後臺採用xml交互,所以對xml的解析就很重要。

幸好flex提供了一種比價好的取值、過濾、修改xml的工具e4x。

 

如下一段xml

<?xml version='1.0' encoding='UTF-8'?>
<inSight>
 <myrepository id='倉庫視圖' childName='2'>
  <repository id='1號倉庫' childName='4'>
   <area id='A區' rAhNum='4' position='1,01,4'>
    <shelf id='6' name='01架' floorNum='2' position='1,01,1'>
     <floor id='A層' lineNum='2'>
      <rb id='32' name='A層01列' pNum='541' r_pro='0xff0000' w_pro='0x00ff00' />
      <rb id='34' name='A層02列' pNum='454' r_pro='0x00ff00' w_pro='0x00ff00' />
     </floor>
     <floor id='B層' lineNum='2'>
      <rb id='33' name='B層01列' pNum='5442' r_pro='0xff0000' w_pro='0xffff00' />
      <rb id='35' name='B層02列' pNum='54' r_pro='0x00ff00' w_pro='0x00ff00' />
     </floor>
    </shelf>
   </area>
  </repository>
 </myrepository>
</inSight>

(1)取值:獲取第二個floor節點

xml.myrepository.shelf.floor[1]的值爲:

<floor id='B層' lineNum='2'>

 <rb id='33' name='B層01列' pNum='5442' r_pro='0xff0000' w_pro='0xffff00' />

<rb id='35' name='B層02列' pNum='54' r_pro='0x00ff00' w_pro='0x00ff00' />

</floor>

 

第一:不管根節點 第二 如果有多個重複的元素,則當做數組,用[] 取值,從0開始。

(2)取某個元素節點的屬性值:去第一個floor的id值

xml.repository.shelf.floor.@id:

取屬性值用到@符號。

 

(3)過濾:取id爲 ‘B層’floor元素。

xml..floor.(@id=="B層")

第一 ..兩個.號,表示不按層級走,任意的搜索。 第二 過濾條件要用()。

 

(4)過濾2 去id 爲 ‘B層’的floor元素下的第一個rb節點的id值

xml..floor.(@id=="B層").rb.@id


 

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