好的,这是我的代码:
var xml:XML =
<xml>
<typeA amount1="500" amount2="300" amount3="250" date="2008-02-17"/>
<typeA amount1="500" amount2="300" amount3="250" date="2008-02-16"/>
<typeA amount1="500" amount2="300" amount3="250" date="2008-02-17"/>
<typeB amount1="500" amount2="300" amount3="250" date="2008-02-18"/>
<typeB amount1="500" amount2="300" amount3="250" date="2008-02-19"/>
<typeC amount1="500" amount2="300" amount3="250" date="2008-02-20"/>
<typeC amount1="500" amount2="300" amount3="250" date="2008-02-21"/>
<typeC amount1="500" amount2="300" amount3="250" date="2008-02-20"/>
</xml>;
trace(xml.typeA.(@date == "2008-02-16")); // no results
trace(xml.typeA.(@date == "2008-02-17")); // finds both
trace(xml.typeC.(@date == "2008-02-20")); // finds both
trace(xml.typeC.(@date == "2008-02-21")); // no results
似乎只有在发现超过1次时才发现它。
我做错了吗?
答案 0 :(得分:6)
实际上它找到了它,但因为它只有一个项目,所以它将它作为XML(而不是XMList)来跟踪。 该节点为空它只会跟踪一个空字符串。
试试这个:
<typeA amount1="500" amount2="300" amount3="250" date="2008-02-16">Hello</typeA>
在调试XML时,最好使用toXMLString
方法。
trace(xml.*.(@date="1980-04-29").toXMLString());