XMLプロファイルへのデータの書き込み

7173 ワード


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;
        }