XML 방식

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

    

   

   

   

XML 쓰기

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

   

    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 읽기

XML 파일 읽기

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

   

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;

   

    }

  

   

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

   

시작시 불러오고, 종료시 저장하기

 

1

2

3

4

5

6

7

8

9

10

11

   

    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 에서 제공합니다.

Posted by WhiteAT
,