2009-02-26 6 views
1

okが私のコードです:E4X条件付きコールは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つのoccuranceがある場合にのみ、それを見つけているように思え。

何か間違っていますか?

答えて

6

実際にはそれが検出されますが、それは1つのアイテムだけなので、XMList(XMListではなく)としてトレースします。 ノードが空であれば、空の文字列をトレースするだけです。

<typeA amount1="500" amount2="300" amount3="250" date="2008-02-16">Hello</typeA> 

あなたはXMLをデバッグしているあなたはより良いtoXMLStringメソッドを使用したい:

が、これは試してみてください。

trace(xml.*.(@date="1980-04-29").toXMLString()); 
関連する問題