2011-09-07 106 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 跟踪项目。属性(“字段”) 你看你的做法是你已经重载查看器,在这种情况下将是实例,所以每个将基于查看器而不是属性字段。您现有的 –