2011-04-12 34 views
0

我試圖從我的xml文件中放入每個屬性,並將每個屬性存儲在一個對象中,但無法聯繫到他們,我做錯了什麼?還有2個其他類也加載圖像,但對我的問題不重要。感謝任何答案在xml中達到屬性的問題

XML:

<personal> 
<person id="1" name="Oprah Winfrey" image="oprah-winfrey.jpg" title="administrator"></person> 
<person id="2" name="Zlatan Ibrahimovic" image="zlatan-ibrahimovic.jpg" title="technician"></person> 
<person id="3" name="Barack Obama" image="barack-obama.jpg" title="CEO"></person> 
</personal> 

AS3:

private var _items:Array = new Array(); 
    private var _xmlLoader:URLLoader = new URLLoader(); 
    private var _Loader:Loader; 
    private var _urlRequest:URLRequest; 
    private var _xml:XML; 

    public function Main(){ 
     _xmlLoader.load(new URLRequest("personal.xml")); 
     _xmlLoader.addEventListener(Event.COMPLETE, onXmlLoadComplete); 

    } 

    private function onXmlLoadComplete(e:Event):void{ 

     _xml = new XML(e.target.data); 
     var _xmlList:XMLList = _xml.person; 
      for each(var node in _xmlList){ 
       for each(var attribute in node.attributes()) 
       //trace(attribute.name()+"::"+attribute) //will output each attribute 
       //trace("********Node End*********") 
       var obj:Object = attribute; 
       trace("obj "+obj.('image')); //outputs "title" node from xml file 
       var item:ImageItem = new ImageItem(obj.image, 
               obj.name, 
               obj.title); 
      addChild(item); 

      _items.push(item); 
      } 

     trace("items "+_items.length); 


    } 

回答

0

你非常接近!這裏是你的循環代碼的更新版本:

xml = new XML(e.target.data); 

for each (var node:XML in xml.person) { 
    var obj:Object = {}; 
    obj.name = [email protected]; 
    obj.image = [email protected]; 
    obj.title = [email protected]; 

    var item:ImageItem = new ImageItem(obj.image, obj.name, obj.title); 

    ... 
} 

我希望有幫助!

+0

它做到了!非常感謝你! =) – EmKe 2011-04-12 03:17:01