XmlArrayItemAttribute 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 클래스의 새 인스턴스를 초기화합니다.
public:
XmlArrayItemAttribute();
public XmlArrayItemAttribute ();
Public Sub New ()
예제
다음 예제에서는 개체 배열을 반환하는 라는 필드가 포함된 라는 Transportation
MyVehicles
클래스를 Vehicle
serialize합니다. 이 예제에서는 필드에 를 적용 XmlArrayItemAttribute 하여 클래스에서 Vehicle
파생된 클래스의 Car
인스턴스를 배열에 삽입할 XmlSerializer 수 있도록 합니다.
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public ref class Vehicle
{
public:
String^ id;
};
public ref class Car: public Vehicle
{
public:
String^ Maker;
};
public ref class Transportation
{
public:
[XmlArrayItem,
XmlArrayItem(Car::typeid,ElementName="Automobile")]
array<Vehicle^>^MyVehicles;
};
void SerializeObject( String^ filename )
{
// Creates an XmlSerializer for the Transportation class.
XmlSerializer^ MySerializer = gcnew XmlSerializer( Transportation::typeid );
// Writing the XML file to disk requires a TextWriter.
TextWriter^ myTextWriter = gcnew StreamWriter( filename );
// Creates the object to serialize.
Transportation^ myTransportation = gcnew Transportation;
// Creates objects to add to the array.
Vehicle^ myVehicle = gcnew Vehicle;
myVehicle->id = "A12345";
Car^ myCar = gcnew Car;
myCar->id = "Car 34";
myCar->Maker = "FamousCarMaker";
array<Vehicle^>^temp = {myVehicle,myCar};
myTransportation->MyVehicles = temp;
// Serializes the object, and closes the StreamWriter.
MySerializer->Serialize( myTextWriter, myTransportation );
myTextWriter->Close();
}
void DeserializeObject( String^ filename )
{
// Creates an XmlSerializer instance.
XmlSerializer^ mySerializer = gcnew XmlSerializer( Transportation::typeid );
FileStream^ myFileStream = gcnew FileStream( filename,FileMode::Open );
Transportation^ myTransportation = dynamic_cast<Transportation^>(mySerializer->Deserialize( myFileStream ));
for ( int i = 0; i < myTransportation->MyVehicles->Length; i++ )
{
Console::WriteLine( myTransportation->MyVehicles[ i ]->id );
}
}
int main()
{
SerializeObject( "XmlArrayItem1.xml" );
DeserializeObject( "XmlArrayItem1.xml" );
}
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);
}
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Public Class Vehicle
Public id As String
End Class
Public Class Car
Inherits Vehicle
Public Maker As String
End Class
Public Class Transportation
<XmlArrayItem(), _
XmlArrayItem(GetType(Car), ElementName := "Automobile")> _
Public MyVehicles() As Vehicle
End Class
Public Class Run
Public Shared Sub Main()
Dim test As New Run()
test.SerializeObject("XmlArrayItem1.xml")
test.DeserializeObject("XmlArrayItem1.xml")
End Sub
Private Sub SerializeObject(ByVal filename As String)
' Creates an XmlSerializer for the Transportation class.
Dim MySerializer As New XmlSerializer(GetType(Transportation))
' Writing the XML file to disk requires a TextWriter.
Dim myTextWriter As New StreamWriter(filename)
' Creates the object to serialize.
Dim myTransportation As New Transportation()
' Creates objects to add to the array.
Dim myVehicle As New Vehicle()
myVehicle.id = "A12345"
Dim myCar As New Car()
myCar.id = "Car 34"
myCar.Maker = "FamousCarMaker"
myTransportation.MyVehicles = New Vehicle() {myVehicle, myCar}
' Serializes the object, and closes the StreamWriter.
MySerializer.Serialize(myTextWriter, myTransportation)
myTextWriter.Close()
End Sub
Private Sub DeserializeObject(ByVal filename As String)
' Create an XmlSerializer instance.
Dim mySerializer As New XmlSerializer(GetType(Transportation))
Dim myFileStream As New FileStream(filename, FileMode.Open)
Dim myTransportation As Transportation = _
CType(mySerializer.Deserialize(myFileStream), Transportation)
Dim i As Integer
For i = 0 To myTransportation.MyVehicles.Length - 1
Console.WriteLine(myTransportation.MyVehicles(i).id)
Next i
End Sub
End Class
적용 대상
XmlArrayItemAttribute(String)
- Source:
- XmlArrayItemAttribute.cs
- Source:
- XmlArrayItemAttribute.cs
- Source:
- XmlArrayItemAttribute.cs
XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화하고 XML 문서에 생성된 XML 요소의 이름을 지정합니다.
public:
XmlArrayItemAttribute(System::String ^ elementName);
public XmlArrayItemAttribute (string elementName);
public XmlArrayItemAttribute (string? elementName);
new System.Xml.Serialization.XmlArrayItemAttribute : string -> System.Xml.Serialization.XmlArrayItemAttribute
Public Sub New (elementName As String)
매개 변수
- elementName
- String
XML 요소의 이름입니다.
예제
다음 예제에서는 개체 배열을 반환하는 라는 필드가 포함된 라는 Transportation
MyVehicles
클래스를 Vehicle
serialize합니다. 이 예제에서는 필드에 를 적용 XmlArrayItemAttribute 하여 클래스에서 Vehicle
파생된 클래스의 Car
인스턴스를 배열에 삽입할 XmlSerializer 수 있도록 합니다. 특성을 적용하는 동안 예제에서는 매개 변수를 ElementName 사용하여 elementName
속성을 설정합니다.
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public ref class Vehicle
{
public:
String^ id;
};
public ref class Car: public Vehicle
{
public:
String^ Maker;
};
public ref class Transportation
{
public:
[XmlArrayItem(ElementName="Transportation"),
XmlArrayItem(Car::typeid,ElementName="Automobile")]
array<Vehicle^>^MyVehicles;
};
void SerializeObject( String^ filename )
{
// Creates an XmlSerializer for the Transportation class.
XmlSerializer^ MySerializer = gcnew XmlSerializer( Transportation::typeid );
// Writing the XML file to disk requires a TextWriter.
TextWriter^ myTextWriter = gcnew StreamWriter( filename );
Transportation^ myTransportation = gcnew Transportation;
Vehicle^ myVehicle = gcnew Vehicle;
myVehicle->id = "A12345";
Car^ myCar = gcnew Car;
myCar->id = "Car 34";
myCar->Maker = "FamousCarMaker";
array<Vehicle^>^myVehicles = {myVehicle,myCar};
myTransportation->MyVehicles = myVehicles;
// Serializes the object, and closes the StreamWriter.
MySerializer->Serialize( myTextWriter, myTransportation );
myTextWriter->Close();
}
void DeserializeObject( String^ filename )
{
// Creates the serializer with the type to deserialize.
XmlSerializer^ mySerializer = gcnew XmlSerializer( Transportation::typeid );
FileStream^ myFileStream = gcnew FileStream( filename,FileMode::Open );
Transportation^ myTransportation = dynamic_cast<Transportation^>(mySerializer->Deserialize( myFileStream ));
for ( int i = 0; i < myTransportation->MyVehicles->Length; i++ )
{
Console::WriteLine( myTransportation->MyVehicles[ i ]->id );
}
}
int main()
{
SerializeObject( "XmlArrayItem2.xml" );
DeserializeObject( "XmlArrayItem2.xml" );
}
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);
}
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Public Class Vehicle
Public id As String
End Class
Public Class Car
Inherits Vehicle
Public Maker As String
End Class
Public Class Transportation
<XmlArrayItem(ElementName := "Transportation"), _
XmlArrayItem(GetType(Car), ElementName := "Automobile")> _
Public MyVehicles() As Vehicle
End Class
Public Class Run
Public Shared Sub Main()
Dim test As New Run()
test.SerializeObject("XmlArrayItem2.xml")
test.DeserializeObject("XmlArrayItem2.xml")
End Sub
Private Sub SerializeObject(ByVal filename As String)
' Creates an XmlSerializer for the Transportation class.
Dim MySerializer As New XmlSerializer(GetType(Transportation))
' Writing the XML file to disk requires a TextWriter.
Dim myTextWriter As New StreamWriter(filename)
Dim myTransportation As New Transportation()
Dim myVehicle As New Vehicle()
myVehicle.id = "A12345"
Dim myCar As New Car()
myCar.id = "Car 34"
myCar.Maker = "FamousCarMaker"
Dim myVehicles() As Vehicle = {myVehicle, myCar}
myTransportation.MyVehicles = myVehicles
' Serializes the object, and closes the StreamWriter.
MySerializer.Serialize(myTextWriter, myTransportation)
myTextWriter.Close()
End Sub
Private Sub DeserializeObject(ByVal filename As String)
' Create the serializer with the type to deserialize.
Dim mySerializer As New XmlSerializer(GetType(Transportation))
Dim myFileStream As New FileStream(filename, FileMode.Open)
Dim myTransportation As Transportation = _
CType(mySerializer.Deserialize(myFileStream), Transportation)
Dim i As Integer
For i = 0 To myTransportation.MyVehicles.Length - 1
Console.WriteLine(myTransportation.MyVehicles(i).id)
Next i
End Sub
End Class
설명
이 오버로드는 속성을 설정합니다 ElementName .
생성된 XML 요소의 이름이 멤버의 식별자와 달라지도록 하려면 이 오버로드를 사용합니다.
네임스페이스를 포함하는 XML 문서에는 요소 이름의 버전이 둘 이상 포함될 수 있습니다. 자세한 내용은 ElementName 속성을 참조하십시오.
적용 대상
XmlArrayItemAttribute(Type)
- Source:
- XmlArrayItemAttribute.cs
- Source:
- XmlArrayItemAttribute.cs
- Source:
- XmlArrayItemAttribute.cs
XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화하고 serialize된 배열에 삽입할 수 있는 Type을 지정합니다.
public:
XmlArrayItemAttribute(Type ^ type);
public XmlArrayItemAttribute (Type type);
public XmlArrayItemAttribute (Type? type);
new System.Xml.Serialization.XmlArrayItemAttribute : Type -> System.Xml.Serialization.XmlArrayItemAttribute
Public Sub New (type As Type)
매개 변수
예제
다음 예제에서는 개체 배열을 반환하는 라는 필드가 포함된 라는 Transportation
MyVehicles
클래스를 Vehicle
serialize합니다. 이 예제에서는 필드에 를 적용 XmlArrayItemAttribute 하여 클래스에서 Vehicle
파생된 클래스의 Car
인스턴스를 배열에 삽입할 XmlSerializer 수 있도록 합니다. 특성을 적용하는 동안 예제에서는 매개 변수를 Type 사용하여 type
속성을 설정합니다.
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public ref class Vehicle
{
public:
String^ id;
};
public ref class Car: public Vehicle
{
public:
String^ Maker;
};
public ref class Transportation
{
public:
[XmlArrayItem(Vehicle::typeid),
XmlArrayItem(Car::typeid)]
array<Vehicle^>^MyVehicles;
};
void SerializeObject( String^ filename )
{
// Creates an XmlSerializer.
XmlSerializer^ MySerializer = gcnew XmlSerializer( Transportation::typeid );
// Writing the XML file to disk requires a TextWriter.
TextWriter^ myTextWriter = gcnew StreamWriter( filename );
Transportation^ myTransportation = gcnew Transportation;
Vehicle^ myVehicle = gcnew Vehicle;
myVehicle->id = "A12345";
Car^ myCar = gcnew Car;
myCar->id = "Car 34";
myCar->Maker = "FamousCarMaker";
array<Vehicle^>^myVehicles = {myVehicle,myCar};
myTransportation->MyVehicles = myVehicles;
// Serializes the object, and closes the StreamWriter.
MySerializer->Serialize( myTextWriter, myTransportation );
myTextWriter->Close();
}
void DeserializeObject( String^ filename )
{
// Creates the serializer with the type to deserialize.
XmlSerializer^ mySerializer = gcnew XmlSerializer( Transportation::typeid );
FileStream^ myFileStream = gcnew FileStream( filename,FileMode::Open );
Transportation^ myTransportation = dynamic_cast<Transportation^>(mySerializer->Deserialize( myFileStream ));
for ( int i = 0; i < myTransportation->MyVehicles->Length; i++ )
{
Console::WriteLine( myTransportation->MyVehicles[ i ]->id );
}
}
int main()
{
SerializeObject( "XmlArrayItem3.xml" );
DeserializeObject( "XmlArrayItem3.xml" );
}
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);
}
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Public Class Vehicle
Public id As String
End Class
Public Class Car
Inherits Vehicle
Public Maker As String
End Class
Public Class Transportation
<XmlArrayItem(GetType(Vehicle)), _
XmlArrayItem(GetType(Car))> _
Public MyVehicles() As Vehicle
End Class
Public Class Run
Public Shared Sub Main()
Dim test As New Run()
test.SerializeObject("XmlArrayItem3.xml")
test.DeserializeObject("XmlArrayItem3.xml")
End Sub
Private Sub SerializeObject(ByVal filename As String)
' Creates an XmlSerializer object.
Dim MySerializer As New XmlSerializer(GetType(Transportation))
' Writing the XML file to disk requires a TextWriter.
Dim myTextWriter As New StreamWriter(filename)
Dim myTransportation As New Transportation()
Dim myVehicle As New Vehicle()
myVehicle.id = "A12345"
Dim myCar As New Car()
myCar.id = "Car 34"
myCar.Maker = "FamousCarMaker"
Dim myVehicles() As Vehicle = {myVehicle, myCar}
myTransportation.MyVehicles = myVehicles
' Serializes the object, and closes the StreamWriter.
MySerializer.Serialize(myTextWriter, myTransportation)
myTextWriter.Close()
End Sub
Private Sub DeserializeObject(ByVal filename As String)
' Creates the serializer with the type to deserialize.
Dim mySerializer As New XmlSerializer(GetType(Transportation))
Dim myFileStream As New FileStream(filename, FileMode.Open)
Dim myTransportation As Transportation = _
CType(mySerializer.Deserialize(myFileStream), Transportation)
Dim i As Integer
For i = 0 To myTransportation.MyVehicles.Length - 1
Console.WriteLine(myTransportation.MyVehicles(i).id)
Next i
End Sub
End Class
적용 대상
XmlArrayItemAttribute(String, Type)
- Source:
- XmlArrayItemAttribute.cs
- Source:
- XmlArrayItemAttribute.cs
- Source:
- XmlArrayItemAttribute.cs
XmlArrayItemAttribute 클래스의 새 인스턴스를 초기화하고 XML 문서에 생성된 XML 요소의 이름 및 생성된 XML 문서에 삽입할 수 있는 Type을 지정합니다.
public:
XmlArrayItemAttribute(System::String ^ elementName, Type ^ type);
public XmlArrayItemAttribute (string elementName, Type type);
public XmlArrayItemAttribute (string? elementName, Type? type);
new System.Xml.Serialization.XmlArrayItemAttribute : string * Type -> System.Xml.Serialization.XmlArrayItemAttribute
Public Sub New (elementName As String, type As Type)
매개 변수
- elementName
- String
XML 요소의 이름입니다.
예제
다음 예제에서는 개체 배열을 반환하는 라는 필드가 포함된 라는 Transportation
MyVehicles
클래스를 Vehicle
serialize합니다. 이 예제에서는 필드에 를 적용 XmlArrayItemAttribute 하여 클래스에서 Vehicle
파생된 클래스의 Car
인스턴스를 배열에 삽입할 XmlSerializer 수 있도록 합니다. 특성을 적용하는 동안 예제에서는 매개 변수를 ElementName 사용하여 elementName
속성을 설정하고 매개 변수를 Typetype
사용하여 속성을 설정합니다.
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public ref class Vehicle
{
public:
String^ id;
};
public ref class Car: public Vehicle
{
public:
String^ Maker;
};
public ref class Transportation
{
public:
[XmlArray]
[XmlArrayItem("Transport",Vehicle::typeid),
XmlArrayItem("Automobile",Car::typeid)]
array<Vehicle^>^MyVehicles;
};
void SerializeObject( String^ filename )
{
// Creates an XmlSerializer for the Transportation class.
XmlSerializer^ MySerializer = gcnew XmlSerializer( Transportation::typeid );
// Writing the XML file to disk requires a TextWriter.
TextWriter^ myTextWriter = gcnew StreamWriter( filename );
Transportation^ myTransportation = gcnew Transportation;
Vehicle^ myVehicle = gcnew Vehicle;
myVehicle->id = "A12345";
Car^ myCar = gcnew Car;
myCar->id = "Car 34";
myCar->Maker = "FamousCarMaker";
array<Vehicle^>^myVehicles = {myVehicle,myCar};
myTransportation->MyVehicles = myVehicles;
// Serializes the object, and closes the StreamWriter.
MySerializer->Serialize( myTextWriter, myTransportation );
myTextWriter->Close();
}
void DeserializeObject( String^ filename )
{
// Creates an XmlSerializer.
XmlSerializer^ mySerializer = gcnew XmlSerializer( Transportation::typeid );
FileStream^ myFileStream = gcnew FileStream( filename,FileMode::Open );
Transportation^ myTransportation = dynamic_cast<Transportation^>(mySerializer->Deserialize( myFileStream ));
for ( int i = 0; i < myTransportation->MyVehicles->Length; i++ )
{
Console::WriteLine( myTransportation->MyVehicles[ i ]->id );
}
}
int main()
{
SerializeObject( "XmlArrayItem4.xml" );
DeserializeObject( "XmlArrayItem4.xml" );
}
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);
}
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Public Class Vehicle
Public id As String
End Class
Public Class Car
Inherits Vehicle
Public Maker As String
End Class
Public Class Transportation
<XmlArray(), _
XmlArrayItem("Transport", GetType(Vehicle)), _
XmlArrayItem("Automobile", GetType(Car))> _
Public MyVehicles() As Vehicle
End Class
Public Class Run
Public Shared Sub Main()
Dim test As New Run()
test.SerializeObject("XmlArrayItem4.xml")
test.DeserializeObject("XmlArrayItem4.xml")
End Sub
Private Sub SerializeObject(ByVal filename As String)
' Creates an XmlSerializer for the Transportation class.
Dim MySerializer As New XmlSerializer(GetType(Transportation))
' Writing the XML file to disk requires a TextWriter.
Dim myTextWriter As New StreamWriter(filename)
Dim myTransportation As New Transportation()
Dim myVehicle As New Vehicle()
myVehicle.id = "A12345"
Dim myCar As New Car()
myCar.id = "Car 34"
myCar.Maker = "FamousCarMaker"
Dim myVehicles() As Vehicle = {myVehicle, myCar}
myTransportation.MyVehicles = myVehicles
' Serializes the object, and closes the StreamWriter.
MySerializer.Serialize(myTextWriter, myTransportation)
myTextWriter.Close()
End Sub
Private Sub DeserializeObject(ByVal filename As String)
' Creates an XmlSerializer.
Dim mySerializer As New XmlSerializer(GetType(Transportation))
Dim myFileStream As New FileStream(filename, FileMode.Open)
Dim myTransportation As Transportation = _
CType(mySerializer.Deserialize(myFileStream), Transportation)
Dim i As Integer
For i = 0 To myTransportation.MyVehicles.Length - 1
Console.WriteLine(myTransportation.MyVehicles(i).id)
Next i
End Sub
End Class
설명
이 오버로드는 및 Type 속성을 설정합니다ElementName.
생성된 XML 요소의 이름이 멤버의 식별자와 달라지도록 하려면 이 오버로드를 사용합니다.
네임스페이스를 포함하는 XML 문서에는 요소 이름의 버전이 둘 이상 포함될 수 있습니다. 자세한 내용은 ElementName 속성을 참조하십시오.
적용 대상
.NET