5.5.为Tree设置XML数据
5.5.1问题
用一个Tree 组件来表现由外部载入的XML 数据
5.5.2解决方法
以e4x 标准为HTTPService 对象设置类型并且加载指定XML 文件,设置请求结果为Tree的数据提供者,使用像labelField 这样的Tree 叶子结点,通过XML 语法来传递结点属性,确保Tree 将会显示正确的标签
5.5.3讨论
只要Tree 组件的labelField 属性显示正确的属性值,Tree 组件处理XML 数据就是正常的, 例如,label 属性一个label 调用的属性值:
以E4X 语法设置labelField 属性来显示你需要提供给标签用的指定属性值或属性:
这个使用属性值调用标签的显示结果存在于每一个XML 结点,默认情况下,如果没有labelField 被提供,Tree 组件显示的结点值,这是一个完整的例子:
用一个Tree 组件来表现由外部载入的XML 数据
5.5.2解决方法
以e4x 标准为HTTPService 对象设置类型并且加载指定XML 文件,设置请求结果为Tree的数据提供者,使用像labelField 这样的Tree 叶子结点,通过XML 语法来传递结点属性,确保Tree 将会显示正确的标签
5.5.3讨论
只要Tree 组件的labelField 属性显示正确的属性值,Tree 组件处理XML 数据就是正常的, 例如,label 属性一个label 调用的属性值:
+展开
-XML
<data label="2004">
<result label="Jan-04">
<product label="apple">81156</product>
<product label="orange">58883</product>
<product label="grape">49280</product>
</result>
<result label="Feb-04">
<product label="apple">81156</product>
<product label="orange">58883</product>
<product label="grape">49280</product>
</result>
</data>
<result label="Jan-04">
<product label="apple">81156</product>
<product label="orange">58883</product>
<product label="grape">49280</product>
</result>
<result label="Feb-04">
<product label="apple">81156</product>
<product label="orange">58883</product>
<product label="grape">49280</product>
</result>
</data>
以E4X 语法设置labelField 属性来显示你需要提供给标签用的指定属性值或属性:
+展开
-ActionScript
labelField="@label"
这个使用属性值调用标签的显示结果存在于每一个XML 结点,默认情况下,如果没有labelField 被提供,Tree 组件显示的结点值,这是一个完整的例子:
+展开
-XML
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300" left="20" top="10">
<mx:HTTPService id="xmlLoader" url="assets/data.xml" resultFormat="e4x" contentType="application/xml" result="xmlReturned(event)"/>
<mx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
[Bindable]
private var xmlValue:XMLListCollection;
private function xmlReturned(event:Event):void {
xmlValue = new XMLListCollection( new XMLList(xmlLoader.lastResult));
}
]]>
</mx:Script>
<mx:Button click="xmlLoader.send()" label="get XML"/>
<mx:Tree dataProvider="{xmlValue}" y="100" labelField="@label" width="300" showRoot="true"/>
</mx:Canvas>
<mx:HTTPService id="xmlLoader" url="assets/data.xml" resultFormat="e4x" contentType="application/xml" result="xmlReturned(event)"/>
<mx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
[Bindable]
private var xmlValue:XMLListCollection;
private function xmlReturned(event:Event):void {
xmlValue = new XMLListCollection( new XMLList(xmlLoader.lastResult));
}
]]>
</mx:Script>
<mx:Button click="xmlLoader.send()" label="get XML"/>
<mx:Tree dataProvider="{xmlValue}" y="100" labelField="@label" width="300" showRoot="true"/>
</mx:Canvas>
加支付宝好友偷能量挖...