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 |
我尝试使用对象数组作为数据提供者。项目渲染器可以正常工作,并且水平列表的行为与我预期的一样。
但是,当我使用 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()}”
|
- 谢谢!!由于您的回答,它设法使其工作=)仅供参考,在我原来的 XML 中,我使用”除法”而不是”区域”=P
- 欢迎并欢迎来到 e4x 的世界,一旦你把 e4x 搞定,你能用它做什么真是太棒了。
来源:https://www.codenong.com/2381117/