Horizontallist control with XML dataprovider
我正在使用带有 XML 文件的 Horizo??ntalList 控件作为数据提供者。
这是 XML 的外观:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <data> <zone name="Europe"> . . . </zone> <zone name="Japan"> <stores> . . . </stores> <collections> <collection id="id1"> <name>xxx</name> <model>xxx</model> <hierarchy>xxx</hierarchy> <thumbnail>assets/xxx.PNG</thumbnail> </collection> <collection id="id1Bis"> <name>xxx</name> <model>xxx</model> <hierarchy>xxx</hierarchy> <thumbnail>assets/xxx.PNG</thumbnail> </collection> <collection id="id2"> <name>xxx</name> <model>xxx</model> <hierarchy>xxx</hierarchy> <thumbnail>assets/xxx.PNG</thumbnail> </collection> <collection id="id2Bis"> <name>xxx</name> <model>xxx</model> <hierarchy>xxx</hierarchy> <thumbnail>assets/xxx.PNG</thumbnail> </collections> <clarities> . . . </clarities> </zone> </data> |
这就是我的控件的外观
1 2 3 4 5 6 7 8 9 | <mx:XML id="data" source="assets/SOD_division.xml"/> <mx:HorizontalList dataProvider="{data.division.(@name=='Japan').collections}" columnCount="2" itemRenderer="Renderer" width="500" horizontalScrollPolicy="off" /> |
我尝试使用对象数组作为数据提供者。项目渲染器可以正常工作,并且水平列表的行为与我预期的一样。
但是,当我使用 xml 文件时,它是空的....
我不知道为什么它不起作用... -_-' ...
感谢您提供的任何帮助 =)
问候,
BS_C3
我注意到的第一件事是您的 DP 设置为:
1 | dataProvider="{data.division.(@name=='Japan').collections}" |
但这不是您的 XML 的结构。按照您的 XML 示例,您的 DP 应该是:
1 | dataProvider="{data.zone.(@name=='Japan').collections}" |
现在,当您可能需要 XMLList 对象时,这将返回一个 XML 对象,在这种情况下,您的 DP 应该是
1 | dataProvider="{data.zone.(@name=='Japan').collections.collection}" |
或者如果您不关心孩子的本地名称:
1 | dataProvider="{data.zone.(@name=='Japan').collections.children()}" |