XmlArrayItemAttribute Konstruktoren
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der XmlArrayItemAttribute-Klasse.
Überlädt
XmlArrayItemAttribute() |
Initialisiert eine neue Instanz der XmlArrayItemAttribute-Klasse. |
XmlArrayItemAttribute(String) |
Initialisiert eine neue Instanz der XmlArrayItemAttribute-Klasse und gibt den Namen des im XML-Dokument generierten XML-Elements an. |
XmlArrayItemAttribute(Type) |
Initialisiert eine Instanz der XmlArrayItemAttribute-Klasse und gibt den Type an, der in das serialisierte Array eingefügt werden kann. |
XmlArrayItemAttribute(String, Type) |
Initialisiert eine neue Instanz der XmlArrayItemAttribute-Klasse und gibt den Namen des im XML-Dokument generierten XML-Elements sowie den Type an, der in das generierte XML-Dokument eingefügt werden kann. |
XmlArrayItemAttribute()
Initialisiert eine neue Instanz der XmlArrayItemAttribute-Klasse.
public:
XmlArrayItemAttribute();
public XmlArrayItemAttribute ();
Public Sub New ()
Beispiele
Im folgenden Beispiel wird eine Klasse mit dem Namen Transportation
eines Felds MyVehicles
serialisiert, das ein Array von Vehicle
Objekten zurückgibt. Das Beispiel wendet das XmlArrayItemAttribute Feld an, sodass instanzen XmlSerializer der Car
Klasse eingefügt werden können, die von der Vehicle
Klasse abgeleitet werden, in das Array.
#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
Gilt für
XmlArrayItemAttribute(String)
Initialisiert eine neue Instanz der XmlArrayItemAttribute-Klasse und gibt den Namen des im XML-Dokument generierten XML-Elements an.
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)
Parameter
- elementName
- String
Der Name des XML-Elements.
Beispiele
Im folgenden Beispiel wird eine Klasse mit dem Namen Transportation
eines Felds MyVehicles
serialisiert, das ein Array von Vehicle
Objekten zurückgibt. Das Beispiel wendet das XmlArrayItemAttribute Feld an, sodass instanzen XmlSerializer der Car
Klasse eingefügt werden können, die von der Vehicle
Klasse abgeleitet werden, in das Array. Beim Anwenden des Attributs legt das Beispiel die ElementName Eigenschaft mithilfe des elementName
Parameters fest.
#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
Hinweise
Diese Überladung legt die ElementName Eigenschaft fest.
Verwenden Sie diese Überladung, wenn Der Name des generierten XML-Elements vom Bezeichner des Elements abweichen soll.
Ein XML-Dokument, das Namespaces enthält, kann mehrere Versionen eines Elementnamens enthalten. Ausführliche Informationen finden Sie unter der ElementName-Eigenschaft.
Gilt für
XmlArrayItemAttribute(Type)
Initialisiert eine Instanz der XmlArrayItemAttribute-Klasse und gibt den Type an, der in das serialisierte Array eingefügt werden kann.
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)
Parameter
Beispiele
Im folgenden Beispiel wird eine Klasse mit dem Namen Transportation
eines Felds MyVehicles
serialisiert, das ein Array von Vehicle
Objekten zurückgibt. Das Beispiel wendet das XmlArrayItemAttribute Feld an, sodass instanzen XmlSerializer der Car
Klasse eingefügt werden können, die von der Vehicle
Klasse abgeleitet werden, in das Array. Beim Anwenden des Attributs legt das Beispiel die Type Eigenschaft mithilfe des type
Parameters fest.
#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
Gilt für
XmlArrayItemAttribute(String, Type)
Initialisiert eine neue Instanz der XmlArrayItemAttribute-Klasse und gibt den Namen des im XML-Dokument generierten XML-Elements sowie den Type an, der in das generierte XML-Dokument eingefügt werden kann.
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)
Parameter
- elementName
- String
Der Name des XML-Elements.
Beispiele
Im folgenden Beispiel wird eine Klasse mit dem Namen Transportation
eines Felds MyVehicles
serialisiert, das ein Array von Vehicle
Objekten zurückgibt. Das Beispiel wendet das XmlArrayItemAttribute Feld an, sodass instanzen XmlSerializer der Car
Klasse eingefügt werden können, die von der Vehicle
Klasse abgeleitet werden, in das Array. Beim Anwenden des Attributs legt das Beispiel die ElementName Eigenschaft mithilfe des elementName
Parameters und die Type Eigenschaft mithilfe des type
Parameters fest.
#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
Hinweise
Diese Überladung legt die ElementName Eigenschaften und die Type Eigenschaften fest.
Verwenden Sie diese Überladung, wenn Der Name des generierten XML-Elements vom Bezeichner des Elements abweichen soll.
Ein XML-Dokument, das Namespaces enthält, kann mehrere Versionen eines Elementnamens enthalten. Ausführliche Informationen finden Sie unter der ElementName-Eigenschaft.