这是我在名为nodesAndStuff.xml
的文件中的XML数据。
<?xml version="1.0" encoding="utf-8"?>
<root>
<node label="One" />
<node label="Two" />
<node label="Three" />
<node label="Four" />
<node label="Five" />
<node label="Six" />
<node label="Seven" />
<node label="Eight" />
<node label="Nine" />
</root>
使用此数据源的组件是XMLListCollection
,它绑定到spark List
,其代码为:
<s:Application name="Spark_List_dataProvider_XML_test"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
initialize="init();">
<fx:Script>
<![CDATA[
private function init():void {
xmlListColl.source = nodes.children();
}
]]>
</fx:Script>
<fx:Declarations>
<fx:XML id="nodes" source="nodesAndStuff.xml" />
</fx:Declarations>
<s:List id="lst"
labelField="@label"
horizontalCenter="0" verticalCenter="0">
<s:dataProvider>
<s:XMLListCollection id="xmlListColl" />
</s:dataProvider>
</s:List>
现在我已经在列表下方添加了我的树,我在one.xml
中保存了从10到19的计数,在two.xml
中保存了20到29,依此类推在不同的XML文件中。我不知道如何将包含10到19之间的计数的XML连接为树中选择标签1的树中的单个节点。
答案 0 :(得分:0)
有各种各样的方法可以做你想做的事。保持你的榜样精神,我已经修改它以做我想要的思考:
<fx:Script>
<![CDATA[
private function init():void {
processXML(one);
}
private function processXML(nodes:XML):void {
xmlListColl.removeAll();
xmlListColl.source = nodes.children();
}
]]>
</fx:Script>
<fx:Declarations>
<fx:XML id="one" source="one.xml" />
<fx:XML id="two" source="two.xml" />
</fx:Declarations>
<s:List id="lst"
labelField="@label"
horizontalCenter="0" verticalCenter="0">
<s:dataProvider>
<s:XMLListCollection id="xmlListColl" />
</s:dataProvider>
</s:List>
<s:Button label="Change" click="processXML(two)" />