ActionScript 3处理XML; ==运算符返回空XMLList

时间:2011-02-22 14:29:22

标签: xml actionscript-3

我有一个xml文档,如下所示,我试图使用AS3解析。我想得到所有有学生打篮球的课程。我以为我可以这样做:

var sport:String = "BasketBall";
var bbClasses:XMLList = xml.classes.class.(students.student.commitments.comm==sport);

不幸的是,这会给我一个空的XMLList。

<master>
    <classes>

        <class>
            <classID>1</classID>
            <teacherID>66</teacherID>
            <students>
                <student>
                    <studentID>1</studentID>
                    <studentDescription>bla bla</studentDescription>
                    <commitments>
                        <comm>Hockey</comm>
                        <comm>Dance</comm>
                        <comm>Basketball</comm>
                    </commitments>
                </student>
                <student>
                    <studentID></studentID>
                    <studentDescription>bla bla</studentDescription>
                    <commitments>
                        <comm>Hockey</comm>
                        <comm>Football</comm>
                        <comm>Basketball</comm>
                    </commitments>
                </student>
                <student>
                    ...
                </student>
                <student>
                    ...
                </student>
            </students>
        </class>
        <class>
            ...
        </class>    
        <class>
            ...
        </class>    
    </classes>
    <Commitments>
        ...
    </Commitments>
<master>

1 个答案:

答案 0 :(得分:1)

使用contains方法,而不是==运算符。

var bbClasses:XMLList =
    xml.classes.class.(students.student.commitments.comm.contains(sport));

ps:注意你的情况。

BasketBall”ins't“Basketball”,因此您的E4X将无法匹配。