挑战:
我想收集属性为“id”的所有节点。
问题:
代码不适用于嵌套节点。
<?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 node.@*) {
var name : String = String(a.name());
nodeObject[name] = a.toXMLString();
}
_NodeArray.push(nodeObject);
}
}
}
答案 0 :(得分:1)
尝试.. *代替。* 我不确定,但您可以查看运营商文档来检查它:http://livedocs.adobe.com/flex/gumbo/langref/operators.html
答案 1 :(得分:1)
只需使用_xml .. @ id