[as2]遍历某个XML节点下的所有子节点
![]()
AS Code
// 遍历节点parentXML下的所有子节点,要求节点都具有名为label的属性,以便trace结果,或者有其他可供trace的属性也可 function parse_xml(parentXML:XMLNode) { var xmlNode:XMLNode = parentXML.firstChild; while(xmlNode != null) { trace(xmlNode.attributes["label"]) // 如果当前节点有子节点,则转入子节点 if(xmlNode.hasChildNodes()) { trace("进入子节点") xmlNode = xmlNode.firstChild; continue; } // 如果当前节点的同级下一个节点不为null,显示同级下一个节点 if(xmlNode.nextSibling != null) { xmlNode = xmlNode.nextSibling continue } // 如果同级下一个节点为null,父节点不为null,父节点不为统计的最顶层节点,则循环回溯 while(xmlNode.parentNode != null && xmlNode.parentNode != parentXML && xmlNode.nextSibling == null) { xmlNode = xmlNode.parentNode; } xmlNode = xmlNode.nextSibling } }

Leave a Reply