XmlArrayItemAttribute Konstruktory

Definice

Inicializuje novou instanci XmlArrayItemAttribute třídy.Initializes a new instance of the XmlArrayItemAttribute class.

Přetížení

XmlArrayItemAttribute()

Inicializuje novou instanci XmlArrayItemAttribute třídy.Initializes a new instance of the XmlArrayItemAttribute class.

XmlArrayItemAttribute(String)

Inicializuje novou instanci XmlArrayItemAttribute třídy a určí název elementu XML vygenerovaného v dokumentu XML.Initializes a new instance of the XmlArrayItemAttribute class and specifies the name of the XML element generated in the XML document.

XmlArrayItemAttribute(Type)

Inicializuje novou instanci XmlArrayItemAttribute třídy a určí Type , která může být vložena do serializovaného pole.Initializes a new instance of the XmlArrayItemAttribute class and specifies the Type that can be inserted into the serialized array.

XmlArrayItemAttribute(String, Type)

Inicializuje novou instanci XmlArrayItemAttribute třídy a určí název elementu XML vygenerovaného v dokumentu XML a Type , který může být vložen do generovaného dokumentu XML.Initializes a new instance of the XmlArrayItemAttribute class and specifies the name of the XML element generated in the XML document and the Type that can be inserted into the generated XML document.

XmlArrayItemAttribute()

Inicializuje novou instanci XmlArrayItemAttribute třídy.Initializes a new instance of the XmlArrayItemAttribute class.

public:
 XmlArrayItemAttribute();
public XmlArrayItemAttribute ();
Public Sub New ()

Příklady

Následující příklad serializovat třídu s názvem Transportation , která obsahuje pole s názvem MyVehicles , které vrací pole Vehicle objektů.The following example serializes a class named Transportation that contains a field named MyVehicles that returns an array of Vehicle objects. Příklad se vztahuje na XmlArrayItemAttribute pole, které umožňuje XmlSerializer Vložit instance Car třídy, které jsou odvozeny z Vehicle třídy, do pole.The example applies the XmlArrayItemAttribute to the field, allowing the XmlSerializer to insert instances of the Car class, which is derived from the Vehicle class, into the 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

Platí pro

XmlArrayItemAttribute(String)

Inicializuje novou instanci XmlArrayItemAttribute třídy a určí název elementu XML vygenerovaného v dokumentu XML.Initializes a new instance of the XmlArrayItemAttribute class and specifies the name of the XML element generated in the XML document.

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)

Parametry

elementName
String

Název elementu XML.The name of the XML element.

Příklady

Následující příklad serializovat třídu s názvem Transportation , která obsahuje pole s názvem MyVehicles , které vrací pole Vehicle objektů.The following example serializes a class named Transportation that contains a field named MyVehicles that returns an array of Vehicle objects. Příklad se vztahuje na XmlArrayItemAttribute pole, které umožňuje XmlSerializer Vložit instance Car třídy, které jsou odvozeny z Vehicle třídy, do pole.The example applies the XmlArrayItemAttribute to the field, allowing the XmlSerializer to insert instances of the Car class, which is derived from the Vehicle class, into the array. Při použití atributu příklad nastavuje ElementName vlastnost pomocí elementName parametru.While applying the attribute, the example sets the ElementName property using the elementName parameter.

#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

Poznámky

Toto přetížení nastaví ElementName vlastnost.This overload sets the ElementName property.

Toto přetížení použijte, pokud chcete, aby se název generovaného elementu XML lišil od identifikátoru člena.Use this overload if you want the name of the generated XML element to differ from the member's identifier.

Dokument XML, který obsahuje obory názvů, může obsahovat více než jednu verzi názvu elementu.An XML document that includes namespaces can contain more than one version of an element name. Podrobnosti najdete v tématu ElementName vlastnost.For details, see the ElementName property.

Platí pro

XmlArrayItemAttribute(Type)

Inicializuje novou instanci XmlArrayItemAttribute třídy a určí Type , která může být vložena do serializovaného pole.Initializes a new instance of the XmlArrayItemAttribute class and specifies the Type that can be inserted into the serialized array.

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)

Parametry

type
Type

TypeObjekt, který má být serializován.The Type of the object to serialize.

Příklady

Následující příklad serializovat třídu s názvem Transportation , která obsahuje pole s názvem MyVehicles , které vrací pole Vehicle objektů.The following example serializes a class named Transportation that contains a field named MyVehicles that returns an array of Vehicle objects. Příklad se vztahuje na XmlArrayItemAttribute pole, které umožňuje XmlSerializer Vložit instance Car třídy, které jsou odvozeny z Vehicle třídy, do pole.The example applies the XmlArrayItemAttribute to the field, allowing the XmlSerializer to insert instances of the Car class, which is derived from the Vehicle class, into the array. Při použití atributu příklad nastavuje Type vlastnost pomocí type parametru.While applying the attribute, the example sets the Type property using the type parameter.

#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

Platí pro

XmlArrayItemAttribute(String, Type)

Inicializuje novou instanci XmlArrayItemAttribute třídy a určí název elementu XML vygenerovaného v dokumentu XML a Type , který může být vložen do generovaného dokumentu XML.Initializes a new instance of the XmlArrayItemAttribute class and specifies the name of the XML element generated in the XML document and the Type that can be inserted into the generated XML document.

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)

Parametry

elementName
String

Název elementu XML.The name of the XML element.

type
Type

TypeObjekt, který má být serializován.The Type of the object to serialize.

Příklady

Následující příklad serializovat třídu s názvem Transportation , která obsahuje pole s názvem MyVehicles , které vrací pole Vehicle objektů.The following example serializes a class named Transportation that contains a field named MyVehicles that returns an array of Vehicle objects. Příklad se vztahuje na XmlArrayItemAttribute pole, které umožňuje XmlSerializer Vložit instance Car třídy, které jsou odvozeny z Vehicle třídy, do pole.The example applies the XmlArrayItemAttribute to the field, allowing the XmlSerializer to insert instances of the Car class, which is derived from the Vehicle class, into the array. Při použití atributu příklad nastavuje ElementName vlastnost pomocí elementName parametru a Type vlastnost používá type parametr.While applying the attribute, the example sets the ElementName property using the elementName parameter, and the Type property using the type parameter.

#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

Poznámky

Toto přetížení nastaví ElementName Type vlastnosti a.This overload sets the ElementName and the Type properties.

Toto přetížení použijte, pokud chcete, aby se název generovaného elementu XML lišil od identifikátoru člena.Use this overload if you want the name of the generated XML element to differ from the member's identifier.

Dokument XML, který obsahuje obory názvů, může obsahovat více než jednu verzi názvu elementu.An XML document that includes namespaces can contain more than one version of an element name. Podrobnosti najdete v tématu ElementName vlastnost.For details, see the ElementName property.

Platí pro