2011-10-06 44 views
1

說與「財產以後」屬性值開始,我有一個XML就像如下:如何選擇基於它的XML元素中的ActionScript3

public static var keywords:XML = <keywords> 
    <tag key="html" type="tag"/> 
    <tag key="htmlNew" type="attr"/> 
    <tag key="head" type="attr"/> 
    <tag key="body" type="attr"/> 
</keywords>; 

我需要的屬性值來搜索這個XML。如果用戶提供輸入爲「html」,那麼我需要返回兩個<tag key="html" type="tag"/> <tag key="htmlNew" type="attr"/>節點作爲XMLList。它的類型從xml屬性搜索類型開始。請任何人提供任何形式的解決方案或建議。直接屬性匹配我用下面的代碼:

var closeMatchList:XMLList = xml.tag.(@key == "html") as XMLList; 

它只返回<tag key="html" type="tag"/>標籤

這是一種解決方案是可能的?請任何人提供任何類型的解決方案。我很長時間以來一直困擾着這個問題。提前致謝。

回答

0

有一個用於ActionScript3的XPath庫(xpath-as3),可以輕鬆完成此操作。

public static var keywords:XML = ...; 

var thePath:String = "/keywords/tag[starts-with(@key, 'html')]"; 
var html:NodeSet = XPath.evaluate(thePath, keywords); 

一些其他的方式來使用這個庫可以看出over here

4

沒有第三方庫,你也可以這樣做:

keywords.tag.(attribute("key").indexOf("html")==0) 
+0

再次非常感謝你爲這個幫助:)感謝 –

+0

@amit它交朋友是一個很好的做法,接受正確的答案:) –