所以我有這樣的XML結構:E4X選擇節點那裏繼承者可以是A或B或A &&乙
<Items>
<Item name="aaa">
<ProductRanges>
<ProductRange id="1" />
</ProductRanges>
</Item>
<Item name="bbb">
<ProductRanges>
<ProductRange id="2" />
</ProductRanges>
</Item>
<Item name="ccc">
<ProductRanges>
<ProductRange id="1" />
<ProductRange id="2" />
</ProductRanges>
</Item>
</Items>
使用下面的E4X查詢我得到的唯一項目「AAA」和項目「BBB」。
trace( Items.Item.(descendants("ProductRange")[email protected] == "1" || descendants("ProductRange")[email protected] == "2") );
不過,我可以種明白爲什麼我沒有看到項目「CCC」,因爲它既是ID =「1」 & &「2」
所以真的不知道怎樣纔是正確的查詢應該在這裏,即使後代是正確的技術。
我不想落得這樣做很長的附加ID =「1」 & & ID =「2」查詢要麼是因爲我有這些價值觀的無限組合(「2」 & &「3」,「1」 & & 「2」 & & 「3」)等。
任何想法,將是最有幫助..
感謝
所以帕特里克解決了這個這個表達式:
xml.Item.(descendants('ProductRange').(@id=="1" || @id=="2").length()>0);
然而,採取這一一步,將如何動態創建@id值,因爲這將是取決於用戶的選擇變化的查詢。
像這樣的東西(但,但這不工作):
var attributeValues:String = "@id==\"1\" || @id==\"2\" || @id==\"3\" || @id==\"4\"";
xml.Item.(descendants('ProductRange').(attributeValues).length()>0);
任何更多的想法帕特里克..任何人?
感謝
您應該打開另一個問題,因爲這個問題已經得到解答,可以創建一個包含您的值的數組,然後搜索它:http://pastebin.com/vxyVK86V – Patrick