public void parseXml(string xmlStr) { SecurityParser xmlDoc = new SecurityParser(); xmlDoc.LoadXml(xmlStr); SecurityElement rootNode = xmlDoc.ToXml(); ArrayList behaviorTemplateNode = rootNode.Children; ArrayList behaviorTreeXmlList = null; SecurityElement xmlElemTpl; SecurityElement xmlElemBT; BehaviorTree behaviorTree = null; string strId = ""; BTID id = BTID.eNone; foreach (SecurityElement node in behaviorTemplateNode) // 树列表,包括树和其它信息 { xmlElemTpl = node; behaviorTreeXmlList = xmlElemTpl.Children; behaviorTree = new BehaviorTree(new BTRoot()); UtilXml.getXmlAttrStr(node, "name", ref strId); id = m_btAttrSys.getBTIDByName(strId); m_id2BTDic[id] = behaviorTree; foreach (SecurityElement nodetree in behaviorTreeXmlList) { xmlElemBT = nodetree; m_BTFactory.parseXml(behaviorTree, xmlElemBT); } } }