Visual C# 를 사용하여 XML 개체를 직렬화하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 815813 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 Visual C# 를 사용하여 개체를 XML로 serialize하는 방법을 설명합니다. 이 메서드는 개체의 상태를 유지하기 위해 유용합니다. 이 메서드는 또한 새 개체에 다시 XML 역직렬화하면 개체의 복제를 위해 유용합니다.



요구 사항

다음은 권장되는 하드웨어, 소프트웨어, 네트워크 인프라 및 필요한 서비스 팩의 목록입니다.
  • Microsoft Visual Studio
이 문서에서는 사용자가 다음 항목을 잘 알고 있다고 가정합니다.
  • XML 일반 지식
  • Visual C# 함께 일반 지식

XML 직렬화

직렬화 개체의 상태를 차지하고 일부 방식으로 유지하는 프로세스입니다. Microsoft .NET Framework XML 모든 개체를 직렬화할 수 있는 강력한 개체가 포함되어 있습니다. System.Xml.Serialization 네임스페이스가 이 기능을 제공합니다.

개체를 만들고 XML 상태로 serialize합니다 콘솔 응용 프로그램을 만들려면 다음과 같이 하십시오.
  1. Visual C# 에서 새 콘솔 응용 프로그램을 만들고 프로젝트.
  2. 프로젝트 메뉴에서 추가 클래스 프로젝트에 새 클래스를 추가합니다.
  3. 새 항목 추가 대화 상자의 클래스 이름을 clsPerson 로 변경하십시오.
  4. 추가 클릭하십시오. 새 클래스를 만듭니다.

    참고 Visual Studio .NET 2003에서 열기 를 클릭하십시오.
  5. 해당 공용 클래스 clsPerson
     public   string FirstName;
     public   string MI;
     public   string LastName;
    
    뒤에 다음 코드를 추가하십시오.
  6. Program.cs Visual Studio에서 또는 Visual Studio .NET 2003에서 Class1.cs 코드 창으로 전환하십시오.
  7. void Main 메서드 선언 및 clsPerson 클래스의 인스턴스를 만들기:
    clsPerson p = new clsPerson();
  8. clsPerson 개체의 속성을 설정하십시오.
    p.FirstName = "Jeff";
    p.MI = "A";
    p.LastName = "Price";
  9. Xml.Serialization 네임스페이스를 XML 개체를 serialize XmlSerializer 클래스는 포함합니다. XmlSerializer 인스턴스를 만들 때 해당 생성자를 serialize 할 클래스의 형식을 전달하는:
    System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
  10. Serialize 메서드는 개체를 XML로 serialize하는 데 사용됩니다. serialize 오버로드된 및 출력 TextWriter, 스트림 또는 XMLWriter 개체에 보낼 수 있습니다. 이 예제에서는 출력이 콘솔에 보내는:
    x.Serialize(Console.Out,p);
    Console.WriteLine();
    Console.ReadLine();

코드 목록 완료

using System;

public class clsPerson
{
  public  string FirstName;
  public  string MI;
  public  string LastName;
}

class class1
{ 
   static void Main(string[] args)
   {
      clsPerson p=new clsPerson();
      p.FirstName = "Jeff";
      p.MI = "A";
      p.LastName = "Price";
      System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
      x.Serialize(Console.Out, p);
      Console.WriteLine();
      Console.ReadLine();
   }
}    

확인

프로젝트를 실행하려면 Ctrl + F5를 눌러 프로젝트를 제대로 작동하는지 확인합니다. clsPerson 개체는 만들고 입력한 값으로 채워집니다. 이 상태는 XML로 serialize됩니다. 다음 콘솔 창에 표시됩니다:
<?xml version="1.0" encoding="IBM437"?>
 <clsPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3
 .org/2001/XMLSchema">
<FirstName>Jeff</FirstName>
 <MI>A</MI>
<LastName>Price</LastName> </clsPerson>

문제 해결

Xml.Serialization.XmlSerializer 개체 얕은 직렬화를 수행합니다. 개체 또는 자식 개체의 개인 변수를 serialize 할 경우 깊은 직렬화를 사용해야 합니다.

참조

자세한 내용은 다음 Microsoft 개발자 네트워크 (MSDN) 웹 사이트를 방문하십시오.
XML 직렬화 소개
http://msdn.microsoft.com/en-us/library/182eeyhh(VS.80).aspx

속성

기술 자료: 815813 - 마지막 검토: 2008년 7월 21일 월요일 - 수정: 4.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
키워드:?
kbmt kbsweptvs2008 kbnamespace kbxml kbhowtomaster KB815813 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com