读书人

FLEX XML相干

发布时间: 2012-07-29 15:26:13 作者: rapoo

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"/>;

?

四、XMLReplace ?

?

? ?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);

? ? ?}?

? ??

读书人网 >flex

热点推荐