I Love China

技术·人生

技术服务生活
繁體
10月 26th, 2007

[as2]遍历某个XML节点下的所有子节点

AS2
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