XmlArrayItemAttribute 생성자

정의

XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화합니다.

오버로드

XmlArrayItemAttribute()

XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화합니다.

XmlArrayItemAttribute(String)

XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화하고 XML 문서에 생성된 XML 요소의 이름을 지정합니다.

XmlArrayItemAttribute(Type)

XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화하고 serialize된 배열에 삽입할 수 있는 Type을 지정합니다.

XmlArrayItemAttribute(String, Type)

XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화하고 XML 문서에 생성된 XML 요소의 이름 및 생성된 XML 문서에 삽입할 수 있는 Type을 지정합니다.

XmlArrayItemAttribute()

Source:
XmlArrayItemAttribute.cs
Source:
XmlArrayItemAttribute.cs
Source:
XmlArrayItemAttribute.cs

XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화합니다.

C#
public XmlArrayItemAttribute ();

예제

다음 예제에서는 개체 배열을 반환하는 라는 필드가 포함된 라는 TransportationMyVehicles 클래스를 Vehicle serialize합니다. 이 예제에서는 필드에 를 적용 XmlArrayItemAttribute 하여 클래스에서 Vehicle 파생된 클래스의 Car 인스턴스를 배열에 삽입할 XmlSerializer 수 있도록 합니다.

C#
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

public class Vehicle
{
   public string id;
}
public class Car:Vehicle
{
   public string Maker;
}

public class Transportation
{
   [XmlArrayItem(),
   XmlArrayItem(typeof(Car), ElementName = "Automobile")]
   public Vehicle[] MyVehicles;
}

public class Run
{
   public static void Main()
   {
      Run test = new Run();
      test.SerializeObject("XmlArrayItem1.xml");
      test.DeserializeObject("XmlArrayItem1.xml");
   }

   private void SerializeObject(string filename){
      // Creates an XmlSerializer for the Transportation class.
      XmlSerializer MySerializer = new XmlSerializer(typeof(Transportation));

      // Writing the XML file to disk requires a TextWriter.
      TextWriter myTextWriter = new StreamWriter(filename);

      // Creates the object to serialize.
      Transportation myTransportation = new Transportation();

      // Creates objects to add to the array.
      Vehicle myVehicle= new Vehicle() ;
      myVehicle.id = "A12345";

      Car myCar = new Car();
      myCar.id = "Car 34";
      myCar.Maker = "FamousCarMaker";

      myTransportation.MyVehicles =
      new Vehicle[2] {myVehicle, myCar};

      // Serializes the object, and closes the StreamWriter.
      MySerializer.Serialize(myTextWriter, myTransportation);
      myTextWriter.Close();
   }

   private void DeserializeObject(string filename)
   {
      // Creates an XmlSerializer instance.
      XmlSerializer mySerializer = new XmlSerializer(typeof(Transportation));
      FileStream myFileStream = new FileStream(filename,FileMode.Open);
      Transportation myTransportation =
      (Transportation) mySerializer.Deserialize(myFileStream);

      for(int i = 0; i < myTransportation.MyVehicles.Length;i++)
      {
         Console.WriteLine(myTransportation.MyVehicles[i].id);
      }
   }
 }

적용 대상

.NET 9 및 기타 버전
제품 버전
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

XmlArrayItemAttribute(String)

Source:
XmlArrayItemAttribute.cs
Source:
XmlArrayItemAttribute.cs
Source:
XmlArrayItemAttribute.cs

XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화하고 XML 문서에 생성된 XML 요소의 이름을 지정합니다.

C#
public XmlArrayItemAttribute (string elementName);
C#
public XmlArrayItemAttribute (string? elementName);

매개 변수

elementName
String

XML 요소의 이름입니다.

예제

다음 예제에서는 개체 배열을 반환하는 라는 필드가 포함된 라는 TransportationMyVehicles 클래스를 Vehicle serialize합니다. 이 예제에서는 필드에 를 적용 XmlArrayItemAttribute 하여 클래스에서 Vehicle 파생된 클래스의 Car 인스턴스를 배열에 삽입할 XmlSerializer 수 있도록 합니다. 특성을 적용하는 동안 예제에서는 매개 변수를 ElementName 사용하여 elementName 속성을 설정합니다.

C#
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

public class Vehicle
{
   public string id;
}
public class Car:Vehicle
{
   public string Maker;
}

public class Transportation
{
   [XmlArrayItem(ElementName = "Transportation"),
   XmlArrayItem(typeof(Car), ElementName = "Automobile")]
   public Vehicle[] MyVehicles;
}

public class Run
{
   public static void Main()
   {
      Run test= new Run();
      test.SerializeObject("XmlArrayItem2.xml");
      test.DeserializeObject("XmlArrayItem2.xml");
   }

   private void SerializeObject(string filename)
   {
      // Creates an XmlSerializer for the Transportation class.
      XmlSerializer MySerializer =
      new XmlSerializer(typeof(Transportation));

      // Writing the XML file to disk requires a TextWriter.
      TextWriter myTextWriter = new StreamWriter(filename);

      Transportation myTransportation = new Transportation();

      Vehicle myVehicle= new Vehicle() ;
      myVehicle.id = "A12345";

      Car myCar = new Car();
      myCar.id = "Car 34";
      myCar.Maker = "FamousCarMaker";

      Vehicle [] myVehicles = {myVehicle, myCar};
      myTransportation.MyVehicles = myVehicles;

      // Serializes the object, and closes the StreamWriter.
      MySerializer.Serialize(myTextWriter, myTransportation);
      myTextWriter.Close();
   }

   private void DeserializeObject(string filename)
   {
      // Creates the serializer with the type to deserialize.
      XmlSerializer mySerializer =
      new XmlSerializer(typeof(Transportation));
      FileStream myFileStream = new FileStream(filename,FileMode.Open);
      Transportation myTransportation =
      (Transportation) mySerializer.Deserialize(myFileStream);

      for(int i = 0;i < myTransportation.MyVehicles.Length;i++)
      {
         Console.WriteLine(myTransportation.MyVehicles[i].id);
      }
   }
}

설명

이 오버로드는 속성을 설정합니다 ElementName .

생성된 XML 요소의 이름이 멤버의 식별자와 달라지도록 하려면 이 오버로드를 사용합니다.

네임스페이스를 포함하는 XML 문서에는 요소 이름의 버전이 둘 이상 포함될 수 있습니다. 자세한 내용은 ElementName 속성을 참조하십시오.

적용 대상

.NET 9 및 기타 버전
제품 버전
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

XmlArrayItemAttribute(Type)

Source:
XmlArrayItemAttribute.cs
Source:
XmlArrayItemAttribute.cs
Source:
XmlArrayItemAttribute.cs

XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화하고 serialize된 배열에 삽입할 수 있는 Type을 지정합니다.

C#
public XmlArrayItemAttribute (Type type);
C#
public XmlArrayItemAttribute (Type? type);

매개 변수

type
Type

serialize할 개체의 Type입니다.

예제

다음 예제에서는 개체 배열을 반환하는 라는 필드가 포함된 라는 TransportationMyVehicles 클래스를 Vehicle serialize합니다. 이 예제에서는 필드에 를 적용 XmlArrayItemAttribute 하여 클래스에서 Vehicle 파생된 클래스의 Car 인스턴스를 배열에 삽입할 XmlSerializer 수 있도록 합니다. 특성을 적용하는 동안 예제에서는 매개 변수를 Type 사용하여 type 속성을 설정합니다.

C#
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

public class Vehicle
{
   public string id;
}
public class Car:Vehicle
{
   public string Maker;
}

public class Transportation
{
   [XmlArrayItem(typeof(Vehicle)),
   XmlArrayItem(typeof(Car))]
   public Vehicle[] MyVehicles;
}

public class Run
{
   public static void Main()
   {
      Run test= new Run();
      test.SerializeObject("XmlArrayItem3.xml");
      test.DeserializeObject("XmlArrayItem3.xml");
   }

   private void SerializeObject(string filename)
   {
       // Creates an XmlSerializer.
      XmlSerializer MySerializer =
      new XmlSerializer(typeof(Transportation));

      // Writing the XML file to disk requires a TextWriter.
      TextWriter myTextWriter = new StreamWriter(filename);

      Transportation myTransportation = new Transportation();

      Vehicle myVehicle= new Vehicle() ;
      myVehicle.id = "A12345";

      Car myCar = new Car();
      myCar.id = "Car 34";
      myCar.Maker = "FamousCarMaker";

      Vehicle [] myVehicles = {myVehicle, myCar};
      myTransportation.MyVehicles = myVehicles;

      // Serializes the object, and closes the StreamWriter.
      MySerializer.Serialize(myTextWriter, myTransportation);
      myTextWriter.Close();
   }

   private void DeserializeObject(string filename)
   {
      // Creates the serializer with the type to deserialize.
      XmlSerializer mySerializer =
      new XmlSerializer(typeof(Transportation));
      FileStream myFileStream = new FileStream(filename,FileMode.Open);
      Transportation myTransportation =
      (Transportation) mySerializer.Deserialize(myFileStream);

      for(int i = 0;i < myTransportation.MyVehicles.Length;i++)
      {
         Console.WriteLine(myTransportation.MyVehicles[i].id);
      }
   }
}

적용 대상

.NET 9 및 기타 버전
제품 버전
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

XmlArrayItemAttribute(String, Type)

Source:
XmlArrayItemAttribute.cs
Source:
XmlArrayItemAttribute.cs
Source:
XmlArrayItemAttribute.cs

XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화하고 XML 문서에 생성된 XML 요소의 이름 및 생성된 XML 문서에 삽입할 수 있는 Type을 지정합니다.

C#
public XmlArrayItemAttribute (string elementName, Type type);
C#
public XmlArrayItemAttribute (string? elementName, Type? type);

매개 변수

elementName
String

XML 요소의 이름입니다.

type
Type

serialize할 개체의 Type입니다.

예제

다음 예제에서는 개체 배열을 반환하는 라는 필드가 포함된 라는 TransportationMyVehicles 클래스를 Vehicle serialize합니다. 이 예제에서는 필드에 를 적용 XmlArrayItemAttribute 하여 클래스에서 Vehicle 파생된 클래스의 Car 인스턴스를 배열에 삽입할 XmlSerializer 수 있도록 합니다. 특성을 적용하는 동안 예제에서는 매개 변수를 ElementName 사용하여 elementName 속성을 설정하고 매개 변수를 Typetype 사용하여 속성을 설정합니다.

C#
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

public class Vehicle
{
   public string id;
}
public class Car:Vehicle
{
   public string Maker;
}

public class Transportation
{
   [XmlArray]
   [XmlArrayItem("Transport", typeof(Vehicle)),
   XmlArrayItem("Automobile", typeof(Car))]
   public Vehicle[] MyVehicles;
}

public class Run
{
   public static void Main()
   {
      Run test= new Run();
      test.SerializeObject("XmlArrayItem4.xml");
      test.DeserializeObject("XmlArrayItem4.xml");
   }

   private void SerializeObject(string filename)
   {
       // Creates an XmlSerializer for the Transportation class.
      XmlSerializer MySerializer =
      new XmlSerializer(typeof(Transportation));

      // Writing the XML file to disk requires a TextWriter.
      TextWriter myTextWriter = new StreamWriter(filename);

      Transportation myTransportation = new Transportation();

      Vehicle myVehicle= new Vehicle() ;
      myVehicle.id = "A12345";

      Car myCar = new Car();
      myCar.id = "Car 34";
      myCar.Maker = "FamousCarMaker";

      Vehicle [] myVehicles = {myVehicle, myCar};
      myTransportation.MyVehicles = myVehicles;

      // Serializes the object, and closes the StreamWriter.
      MySerializer.Serialize(myTextWriter, myTransportation);
      myTextWriter.Close();
   }

   private void DeserializeObject(string filename)
   {
      // Creates an XmlSerializer.
      XmlSerializer mySerializer =
      new XmlSerializer(typeof(Transportation));
      FileStream myFileStream = new FileStream(filename,FileMode.Open);
      Transportation myTransportation =
      (Transportation) mySerializer.Deserialize(myFileStream);

      for(int i = 0;i < myTransportation.MyVehicles.Length;i++)
      {
         Console.WriteLine(myTransportation.MyVehicles[i].id);
      }
   }
}

설명

이 오버로드는 및 Type 속성을 설정합니다ElementName.

생성된 XML 요소의 이름이 멤버의 식별자와 달라지도록 하려면 이 오버로드를 사용합니다.

네임스페이스를 포함하는 XML 문서에는 요소 이름의 버전이 둘 이상 포함될 수 있습니다. 자세한 내용은 ElementName 속성을 참조하십시오.

적용 대상

.NET 9 및 기타 버전
제품 버전
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0