示例#1
0
        /// <summary>
        /// Записать таблицу
        /// </summary>
        /// <param name="dt">Таблица, данные которой нужно сохранить</param>
        /// <param name="elementName">Наименование XML-элемента</param>
        /// <returns></returns>
        public bool SaveDataTable(DataTable dt, string elementName)
        {
            //System.Xml.XmlElement xmlElement = SettingsXmlDoc.CreateElement(elementName);
            LoadXml();
            XmlNode rootNode = SettingsXmlDoc.SelectSingleNode("//root");
            XmlNode childElement;

            if (SettingsXmlDoc.SelectNodes("//root/" + elementName).Count > 0)
            {
                childElement = SettingsXmlDoc.SelectSingleNode("//root/" + elementName);
                childElement.RemoveAll();
            }
            else
            {
                childElement = SettingsXmlDoc.CreateNode(XmlNodeType.Element, elementName, null);
            }
            foreach (DataRow row in dt.Rows)
            {
                XmlElement rowElement = SettingsXmlDoc.CreateElement("row");
                foreach (DataColumn col in dt.Columns)
                {
                    //switch (col.DataType)
                    //{
                    //    case System.Int16:
                    //        rowElement.SetAttribute(col.ColumnName, (string)row[col]);
                    //        break;
                    //}
                    rowElement.SetAttribute(col.ColumnName, Encrypt(Convert.ToString(row[col])));
                }
                childElement.AppendChild(rowElement);
            }
            rootNode.AppendChild(childElement);
            SettingsXmlDoc.Save(_settingsXML);
            return(true);
        }