2009-08-20 6 views
0

Die Herausforderung:AS3: Wie bekomme ich alle XML-Knoten mit einem speziellen Attribut? (Mit sourch)

i d mögen alle Knoten mit dem Attribut "id" sammeln.

Das Problem:

Der Code funktioniert nicht mit verschachtelten Knoten.

<?xml version="1.0" encoding="utf-8"?> 
<contentmap> 
    <fonts id="fonts"> 
    <font id="Arial" name="RicolaArial">fonts/Arial.swf</font> 
    </fonts> 
    <plugin id="library_main" name="theName">swf/library_main.swf</plugin> 
</contentmap> 

.

private function onXMLLoader(event : Event) : void { 
    _xml = _loader.getXML(event.target.url.url); 

    var searchTerms : XMLList = _xml.*.(hasOwnProperty('@id')); 

    if (searchTerms.length() > 0) { 
    _NodeArray = new Array(); 
    _parseNode(searchTerms); 
    } 
} 

private function _parseNode(xml : XMLList) : void { 
    for each (var node: XML in xml) { 
    if(!node.hasSimpleContent()) { 
     _parseNode(node.children()); 
    } else { 
     var nodeObject : Object = new Object(); 
     nodeObject['value'] = node.text(); 

     for each(var a:XML in [email protected]*) { 
     var name : String = String(a.name()); 
     nodeObject[name] = a.toXMLString(); 
     } 
     _NodeArray.push(nodeObject); 
    } 
    } 
} 

Antwort

1

nur verwenden _xml .. @ id

Verwandte Themen