private void InnerGetNodes(CHMNodeList list, CHMNodeList list2) { foreach (CHMNode node in list2) { list.Add(node); InnerGetNodes(list, node.Nodes);//以递归的方式获得所有节点 } }
//xml转为为nodes private void NodesFromXML(CHMNodeList nodes, System.Xml.XmlElement RootElement) { foreach (System.Xml.XmlNode node in RootElement.ChildNodes) { if (node.Name == "Node") { System.Xml.XmlElement element = (System.Xml.XmlElement)node; CHMNode NewNode = new CHMNode(); NewNode.Name = element.GetAttribute("Name"); NewNode.Local = element.GetAttribute("Local"); NewNode.ImageNo = element.GetAttribute("ImageNumber"); NewNode.KeyWords = element.GetAttribute("KeyWords"); nodes.Add(NewNode); foreach (System.Xml.XmlNode node2 in element.ChildNodes) { if (node2.Name == "Items") { NodesFromXML(NewNode.Nodes, (System.Xml.XmlElement)node2); } } } } }