1

好的,这是我的代码:

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 次时才会找到它。

难道我做错了什么?

4

1 回答 1

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());
于 2009-02-26T17:16:33.853 回答