2011-09-07 109 views
0
<fx:XML id="dataGridDataFieldsXML" source="assets/dataGridDataFieldsXML.xml"/> 
<s:XMLListCollection id="showGridFields" source="{dataGridDataFieldsXML.viewer}"/> 


I want to loop through my XML file and get the "field" value.I tried the following but nothing is getting through the trace statement: 

var xmlTrack:XML; 

       for each(xmlTrack in dataGridDataFieldsXML.fields_by_viewer.viewer) 
       { 
        trace([email protected]); 
       } 


My XML 
<?xml version="1.0" encoding="UTF-8"?> 

<fields_by_viewer> 
    <viewer id="1" field="fieldName1"/> 
    <viewer id="1" field="fieldName2"/> 
</fields_by_viewer> 

Anything wrong here? 

Thanks 
flexyboz 

回答

-1
@Craig Mc..this works fine. 

I also tried: 
fieldsXMLListNew=new XMLListCollection(dataGridDataFieldsXML.viewer as XMLList); 

And then looped and got my items using: 

for each(var item in fieldsXMLListNew){ 
item.attribute("field"); 
} 
0

嘗試以下操作:

var myXML:XML = <users> 
<fname>Jane</fname> 
<fname>Susan</fname> 
<fname>John</fname> 
</users>; 

for each (var item in myXML.fname) 
{ 
    trace(item); 
} 
/* output 

更在這裏找到:http://livedocs.adobe.com/flex/3/html/help.html?content=03_Language_and_Syntax_16.html

+0

你好, 我試過如下: 每個(VAR itemGridDataFieldsXML.field){ \t \t \t \t \t Alert.show(item); \t \t \t \t} 還是沒什麼,有什麼想法? – FlexyBoz

+0

showGridFields.Node(節點是其有史以來節點你想要的。)而你要像屬性liiks不叫什麼名字;) xml.attribute(「MyField的」) –

+0

所以要明確 其dataGridDataFieldsXML.viewer 跟蹤項目。屬性(「字段」) 你看你的做法是你已經重載查看器,在這種情況下將是實例,所以每個將基於查看器而不是屬性字段。您現有的 –