C# XML 으로 환경설정 저장하기 ( \n,엔터값 포함, NewLine)

XML 방식

일반적인 XML 방식으로는 MultiLine의 값은 읽히지 않습니다. XmlWriterSettings 를 사용하여 2줄 이상의 데이터를 저장하는 방법을 알아보겠습니다.

 

 

 

XML 쓰기
    public void SaveXML()
    {
      MySetup.MyID = Convert.ToInt32(txbID.Text);
      MySetup.MyString = this.textBox1.Text;

      try
      {
        XmlWriterSettings ws = new XmlWriterSettings();
        ws.NewLineHandling = NewLineHandling.Entitize;

        XmlSerializer serializer = new XmlSerializer(typeof(WATSetup));
        using (XmlWriter wr = XmlWriter.Create(XML_PATH, ws))
        {
          serializer.Serialize(wr, MySetup);
        }

      }
      catch (Exception ex)
      {
        Console.Write("write2에러:" + ex.Message);
      }
    }

 

 

XML 읽기
public void LoadXML ()
    {
      try
      {
        XmlSerializer deserializer = new XmlSerializer(typeof(WATSetup));
        TextReader textReader = new StreamReader(XML_PATH);

        MySetup = (WATSetup)deserializer.Deserialize(textReader);
        if (this.MySetup == null) this.MySetup = new WATSetup();
        textReader.Close();
      }
      catch
      {
        this.MySetup = new WATSetup();
      }

      txbID.Text = MySetup.MyID.ToString();
      this.textBox1.Text = MySetup.MyString;

    }

 

프로그램 시작시 읽어오고 종료시 저장

 

    private void Form1_Load(object sender, EventArgs e)
    {
      LoadXML();
    }

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
      SaveXML();
    }

 

전체 소스코드 VS2010

최신 소스 코드는 http://whiteat.com/WhiteAT_Csharp/229088 에서 제공합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다