`

FLEX XML相关

 
阅读更多

一、定义XML的时候,尽量不要使用变的东西做为标签名。否则很不好解析。

例好:

 

<group name="PropertyA">

<Item id="a5001" value="2"/>

<Item id="a263" value="2012-05-14"/>

<Item id="a24001" value=""/>

<Item id="a13001" value=""/>

<Item id="a35048" value=""/>

<Item id="a35047" value=""/>

<Item id="a33001" value=""/>

</group>

 

 

就比

 

              <PropertyA>

                <a5001>2</a5001>

                <a263>2012-05-14</a263>

                <a24001/>

                <a13001>sda</a13001>

                <a35048>sdfad</a35048>

                <a35047>dsfad</a35047>

                <a33001>sdfasdfd</a33001>

              </PropertyA>

好解析很多

 

二、如果不清楚底下子标签的名字,可采用 * 的写法

 

如:

 

<Property id="a77001" displayName="Customer Grade" type="ComboBox" defaultValue="" nullable="true" editable="true" multipleChoice="false" comments="Customer Grade" groupDesc="PropertyB" visible="true">

<Item text="M-Comm" value="3"/>

<Item text="VIP" value="1"/>

<Item text="VVIP" value="2"/>

</Property>

 

可采用 var items:XMLList=property.*; 然后遍历

 

for each (var item:XML in items)

{

var data:Object={};

 

data["label"]=item.@["text"].toString();

data["value"]=item.@["value"].toString();

}

 

 

 

三、在XML中使用占位符

 

if (groupName)

{

tempXml= <group name={groupName}/>;

}

如果groupName = 'PropertyA'

那么tempXml = <group name = "PropertyA"/>;

 

四、XML Replace  

 

   var result:XML = new XML(globalXML.toXMLString());  //相当于复制XML

   result.replace("value",valueResult);

   return result;

会把XML中value节点给全部替换成  valueResult  XML

 

valueResult.appendChild(tempXml);

向XML中插入孩子 即使用 valueResult = <value/>开式

 

插入后变马 <value> tempXml中的xml </value>

 

五、xml判断一个节点是否存在。

   判断属性是否存在可用自带的function hasOwnProperty(p:String):Boolean

 

  如果判断一个节点是否存在,可用:

     //判断一下有无value节点,如果有则替换,如无,则插入

   var valueList:XMLList = result.value;

     if(valueList && valueList.length() != 0 )

   {

       result.replace("value",valueResult);

   }

   else

   { 

       result.appendChild(valueResult);

     } 

    

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics