Wednesday, February 5, 2014

How to read write XML files?

using System.Xml;

       //##################### READ / WRITE #####################
        private void ReadSettingsXML()
        {
            if (!System.IO.File.Exists(@".\DatFiles\Settings.xml"))
                return;

            XmlReader reader = XmlReader.Create(@".\DatFiles\Settings.xml");
            try
            {
                while (reader.Read())
                {
                    // Only detect start elements.
                    if (reader.IsStartElement())
                    {
                        // Get element name and switch on it.
                        switch (reader.Name)
                        {
                            case "locX":
                                if (reader.Read())
                                {
                                    locX = Convert.ToInt32(reader.Value);
                                }
                                break;

                            case "locY":
                                if (reader.Read())
                                {
                                    locY = Convert.ToInt32(reader.Value);
                                }
                                break;    
                        }
                    }
                }
                reader.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show(this, "ReadSettingsXML() " + e.Message, "Exception");
            }
        }

        //************* WriteSettingsXML() *************
        private void WriteSettingsXML()
        {
            XmlWriterSettings settings = new XmlWriterSettings();
            settings.Indent = true;
            settings.Encoding = System.Text.Encoding.UTF8;

            if (!System.IO.File.Exists(@".\DatFiles\Settings.xml"))
            {
                System.IO.Directory.CreateDirectory(@".\DatFiles\");
            }

            XmlWriter xmlw = XmlWriter.Create(@".\DatFiles\Settings.xml", settings);

            xmlw.WriteStartDocument();
            xmlw.WriteStartElement("settings");
           
            xmlw.WriteStartElement("locX");
            xmlw.WriteValue(locX);
            xmlw.WriteEndElement();
           
            xmlw.WriteStartElement("locY");
            xmlw.WriteValue(locY);
            xmlw.WriteEndElement();

            xmlw.WriteEndElement(); //Settings
            xmlw.WriteEndDocument();
            xmlw.Close();
        }
     

No comments:

Post a Comment