如何在 XML 文件中写入/读取多行文本?

我正在尝试将一些应用程序设置保存到 XML 文件中。为此,我在单个Props.cs文件中使用以下代码:


using System;

//надо добавить для работы класса

using System.Xml.Serialization;

using System.IO;



namespace SettingWinForm

{

    //Класс определяющий какие настройки есть в программе

    public class PropsFields

    {

        public String XMLFileName = Environment.CurrentDirectory + "\\settings.xml";

        //Чтобы добавить настройку в программу просто добавьте туда строку вида -

        //public ТИП ИМЯ_ПЕРЕМЕННОЙ = значение_переменной_по_умолчанию;

        public String TextValue = @"File Settings";

        public DateTime DateValue = new DateTime(2011, 1, 1);

        public Decimal DecimalValue = 555;

        public Boolean BoolValue = true;

    }

    //Класс работы с настройками

    public class Props

    {

        public PropsFields Fields;


        public Props()

        {

            Fields = new PropsFields();

        }

        //Запись настроек в файл

        public void WriteXml()

        {

            XmlSerializer ser = new XmlSerializer(typeof(PropsFields));


            TextWriter writer = new StreamWriter(Fields.XMLFileName);

            ser.Serialize(writer, Fields);

            writer.Close();

        }


        //Чтение настроек из файла

        public void ReadXml()

        {

            if (File.Exists(Fields.XMLFileName))

            {

                XmlSerializer ser = new XmlSerializer(typeof(PropsFields));

                TextReader reader = new StreamReader(Fields.XMLFileName);

                Fields = ser.Deserialize(reader) as PropsFields;


                reader.Close();

            }

            else

            {

                //можно написать вывод сообщения если файла не существует

            }

        }

    }

}

http://img.mukewang.com/61ac81730001fe6404420384.jpg

如何从textBox1XML 文件读取和写入多行文本?


慕妹3146593
浏览 360回答 1
1回答

撒科打诨

无论是单行还是多行,您所拥有的都可以很好地保存和读取 textBox1 中的文本。您显示的代码中的问题是您将 textBox1 文本和 comboBox1 文本保存到同一字段TextValue. 您正在用第二个值覆盖第一个值。您需要TextValue2为组合框文本创建一个新的文本字段(即)。或者,DecimalValue如果它不可编辑,则可以将组合框索引值存储到其中。
打开App,查看更多内容
随时随地看视频慕课网APP