將數據寫入XML配置文件中


 

創建一個XML文件

        /// <summary>
        /// 創建xml
        /// </summary>
        public void createXMl()
        {
           //設置配置文件的路徑
            XmlTextWriter myXmlTextWriter = new XmlTextWriter(@"..\..\Config\Config.xml", null);
            //使用 Formatting 屬性指定希望將 XML 設定為何種格式。 
            //子元素就可以通過 Indentation 和 IndentChar 屬性來縮進。
            myXmlTextWriter.Formatting = Formatting.Indented;
            myXmlTextWriter.WriteStartDocument(false);
            myXmlTextWriter.WriteStartElement("store");
            myXmlTextWriter.WriteComment("記錄信息");//xml中備注
            myXmlTextWriter.WriteStartElement("item");
            //設置節點的屬性
            myXmlTextWriter.WriteAttributeString("Type", "類型");
            myXmlTextWriter.WriteAttributeString("Time", "2015-12-1");


            //設置子節點
            myXmlTextWriter.WriteElementString("code", "123");
            myXmlTextWriter.WriteElementString("name", "名稱");
            myXmlTextWriter.WriteElementString("price", "33.0");



            myXmlTextWriter.WriteEndElement();
            myXmlTextWriter.Flush();
            myXmlTextWriter.Close();

        }    

向配置文件中填寫數據

 /// <summary>
        /// 給XML添加數據
        /// </summary>
        public void AddXML()
        {
            ///加載文件並選出要結點:
            XmlDocument doc = new XmlDocument();
            doc.Load(@"..\..\Config\Config.xml");
            XmlNode root = doc.SelectSingleNode("store");

            //創建一個結點
            XmlElement xelKey = doc.CreateElement("item");
            //設置結點的屬性:
            //XmlAttribute xelType = doc.CreateAttribute("Type");
            //xelType.InnerText = "adfdsf";
            //xelKey.SetAttributeNode(xelType);
            //創建子結點
            XmlElement xelAuthor1 = doc.CreateElement("code");
            xelAuthor1.InnerText = "銷售商代碼7";
            XmlElement xelAuthor2 = doc.CreateElement("name");
            xelAuthor2.InnerText = "銷售商名字7";
            XmlElement xelAuthor3 = doc.CreateElement("price");
            xelAuthor3.InnerText = "郵箱7";
         

            xelKey.AppendChild(xelAuthor1);
            xelKey.AppendChild(xelAuthor2);
            xelKey.AppendChild(xelAuthor3);
        
            // 最后把book結點掛接在要結點上,並保存整個文件:
            root.AppendChild(xelKey);
            doc.Save(@"..\..\Config\Config.xml");
        }

讀取出已有的XML數據並循環遍歷轉換成泛型集合返回出去

 /// <summary>
        /// 獲取xml文件中的數據
        /// </summary>
        public List<xmlModel> GetXmlInfo()
        {
            XmlDocument xmlDoc = new XmlDocument();
            XmlReaderSettings settings = new XmlReaderSettings();
            settings.IgnoreComments = true;//忽略文檔里面的注釋
            XmlReader reader = XmlReader.Create(@"..\..\Config\Config.xml", settings);
            xmlDoc.Load(reader);
            XmlNode xn = xmlDoc.SelectSingleNode("NewDataSet");
            XmlNodeList xnl = xn.ChildNodes;
            List<xmlModel> xmlModelList = new List<xmlModel>();
            foreach (XmlNode xn1 in xnl)
            {
                xmlModel xmlModel = new xmlModel();
                // 將節點轉換為元素,便於得到節點的屬性值
                XmlElement xe = (XmlElement)xn1;
                // 得到屬性的屬性值
                //XmlAttribute xelType = doc.CreateAttribute("Type");
                //xelType.InnerText = "adfdsf";
                // 得到itme節點的所有子節點
                XmlNodeList xnl0 = xe.ChildNodes;
                xmlModel.SaleCode = xnl0.Item(0).InnerText;
                xmlModel.SaleName = xnl0.Item(1).InnerText;
                xmlModel.Email = xnl0.Item(2).InnerText;
                xmlModel.UserMoblic = xnl0.Item(3).InnerText;
            
                xmlModelList.Add(xmlModel);
                reader.Close();
            }

            return xmlModelList;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM