public void AddList(ListItem list)
        {
            XmlDocument doc = GetXmlDocumentByFileName(DbListItemFile);
            XmlNodeList nodeList = doc.GetElementsByTagName("Lists");
            if (nodeList.Count > 0)
            {
                XmlNode root = nodeList[0];

                XmlElement listNode = doc.CreateElement("List");
                XmlElement nodeId = doc.CreateElement("Id");
                nodeId.InnerText = list.Id;
                listNode.AppendChild(nodeId);
                XmlElement nodeName = doc.CreateElement("Name");
                nodeName.InnerText = list.Name;
                listNode.AppendChild(nodeName);
                XmlElement nodeCode = doc.CreateElement("Code");
                nodeCode.InnerText = list.Code;
                listNode.AppendChild(nodeCode);
                XmlElement nodeFile = doc.CreateElement("SubFile");
                nodeFile.InnerText = list.SubDbFileName;
                listNode.AppendChild(nodeFile);
                XmlElement nodeCount = doc.CreateElement("ChildrenCount");
                nodeCount.InnerText = "0";
                listNode.AppendChild(nodeCount);

                root.AppendChild(listNode);
                SaveXmlDocument(doc, DbListItemFile);

                string dirPath = GetXmlFileName(string.Format(@"Contents\{0}", list.SubDbFileName));
                if (!Directory.Exists(dirPath))
                {
                    Directory.CreateDirectory(dirPath);
                }
            }
            else
            {
                throw new ArgumentOutOfRangeException("数据库结构错误 - 列表");
            }
        }
 public static ListItem LoadByXmlNode(XmlNode xmlNode)
 {
     ListItem item = new ListItem();
     foreach (XmlNode child in xmlNode.ChildNodes)
     {
         switch (child.Name.ToUpper())
         {
             case "ID":
                 item.Id = child.InnerText;
                 break;
             case "NAME":
                 item.Name = child.InnerText;
                 break;
             case "CODE":
                 item.Code = child.InnerText;
                 break;
             case "SUBFILE":
                 item.SubDbFileName = child.InnerText;
                 break;
             case "CHILDRENCOUNT":
                 item.ChildrenCount = int.Parse(child.InnerText);
                 break;
         }
     }
     return item;
 }