C\#XML 문 서 를 읽 기,쓰기 위 한 실 용적 인 방법

본 고 는 C\#XML 문 서 를 조작(읽 기,쓰기)하 는 실 용적 인 방법 을 공유 하고 자 합 니 다.이 방법 은 주로 비교적 규범 화 된 XML 문 서 를 조작 하 는 것 입 니 다.왜냐하면 이것(XML 문서)과 클래스 대상 이 엄격하게 대응 하기 때 문 입 니 다.그렇지 않 으 면 반 서열 이나 직렬 화 할 때 오류 가 발생 할 수 있 습 니 다.다른 것 은 말 할 필요 도 없 이 예제 코드 를 직접 보 세 요.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

namespace _01XMLSerialize
{
  class Program
  {
    private static List<UserInfo> list = new List<UserInfo>()
    {
      new UserInfo()
      {
        Id = 1,
        UserName = "  ",
        UserPass = "FDASDFAS",
        Email = "[email protected]",
        RegTime = DateTime.Now
      },
      new UserInfo()
      {
        Id = 2,
        UserName = "  ",
        UserPass = "FDASDFAS",
        Email = "[email protected]",
        RegTime = DateTime.Now
      },
      new UserInfo()
      {
        Id = 3,
        UserName = "  ",
        UserPass = "FDASDFAS",
        Email = "[email protected]",
        RegTime = DateTime.Now
      },
      new UserInfo()
      {
        Id = 4,
        UserName = "  ",
        UserPass = "FDASDFAS",
        Email = "[email protected]",
        RegTime = DateTime.Now
      },
      new UserInfo()
      {
        Id = 5,
        UserName = "  ",
        UserPass = "FDASDFAS",
        Email = "[email protected]",
        RegTime = DateTime.Now
      },
      new UserInfo()
      {
        Id = 6,
        UserName = "  ",
        UserPass = "FDASDFAS",
        Email = "[email protected]",
        RegTime = DateTime.Now
      }
    };
    static void Main(string[] args)
    {
      //         
      WriteSingleXml();

      //          
      ReadListXml();

      Console.ReadKey();
    }

    /// <summary>
    ///  XML         
    /// </summary>
    private static void ReadListXml()
    {
      //      
      Console.WriteLine("    XML     ");
      var reader = new XmlSerializer(typeof(List<UserInfo>));

      using (var fs = File.OpenRead("UserInfo.xml"))
      {
        var result = reader.Deserialize(fs) as List<UserInfo>;

        result.ForEach(Console.WriteLine);
      }
      Console.WriteLine("      ");
    }

    /// <summary>
    ///       XML  
    /// </summary>
    private static void WriteSingleXml()
    {
      //      xml  
      Console.WriteLine("      XML  ");

      var reader = new XmlSerializer(typeof(List<UserInfo>));
      //    
      using (var fs = File.OpenWrite("UserInfo.xml"))
      {
        reader.Serialize(fs, list);
      }

      Console.WriteLine("    ");
    }
  }
}

실행 결 과 는 그림 과 같 습 니 다.

생 성 된 XML 문 서 는 다음 과 같 습 니 다.

<?xml version="1.0"?>
<ArrayOfUserInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <UserInfo>
  <Id>1</Id>
  <UserName>  </UserName>
  <UserPass>FDASDFAS</UserPass>
  <Email>[email protected]</Email>
  <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime>
 </UserInfo>
 <UserInfo>
  <Id>2</Id>
  <UserName>  </UserName>
  <UserPass>FDASDFAS</UserPass>
  <Email>[email protected]</Email>
  <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime>
 </UserInfo>
 <UserInfo>
  <Id>3</Id>
  <UserName>  </UserName>
  <UserPass>FDASDFAS</UserPass>
  <Email>[email protected]</Email>
  <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime>
 </UserInfo>
 <UserInfo>
  <Id>4</Id>
  <UserName>  </UserName>
  <UserPass>FDASDFAS</UserPass>
  <Email>[email protected]</Email>
  <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime>
 </UserInfo>
 <UserInfo>
  <Id>5</Id>
  <UserName>  </UserName>
  <UserPass>FDASDFAS</UserPass>
  <Email>[email protected]</Email>
  <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime>
 </UserInfo>
 <UserInfo>
  <Id>6</Id>
  <UserName>  </UserName>
  <UserPass>FDASDFAS</UserPass>
  <Email>[email protected]</Email>
  <RegTime>2016-04-21T09:15:58.5576551+08:00</RegTime>
 </UserInfo>
</ArrayOfUserInfo>
이상 은 본 고의 모든 내용 입 니 다.여러분 이 C\#프로 그래 밍 을 배 우 는 데 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기