首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有XML数据提供程序的Horizontallist控件

具有XML数据提供程序的Horizontallist控件
EN

Stack Overflow用户
提问于 2010-03-05 00:57:58
回答 1查看 287关注 0票数 0

我使用一个带有XML文件的HorizontalList控件作为数据提供程序。XML的外观如下所示:

代码语言:javascript
复制
<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>

这是我的控件的外观

代码语言:javascript
复制
<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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-05 01:34:09

我注意到的第一件事是,您的DP设置为:

代码语言:javascript
复制
dataProvider="{data.division.(@name=='Japan').collections}"

但这不是您的XML的结构。按照您的XML示例操作,您的DP应为:

代码语言:javascript
复制
dataProvider="{data.zone.(@name=='Japan').collections}"

现在,当您可能需要一个XMLList对象时,这将返回一个XML对象,在这种情况下,您的DP应该是

代码语言:javascript
复制
dataProvider="{data.zone.(@name=='Japan').collections.collection}"

或者,如果您不关心孩子的本地名字:

代码语言:javascript
复制
dataProvider="{data.zone.(@name=='Japan').collections.children()}"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2381117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档