Freigeben über


XmlSerializer.FromTypes-Methode

Gibt ein Array von XmlSerializer-Objekten zurück, das aus einem Array von Typen erstellt wurde.

Namespace: System.Xml.Serialization
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
Public Shared Function FromTypes ( _
    types As Type() _
) As XmlSerializer()
'Usage
Dim types As Type()
Dim returnValue As XmlSerializer()

returnValue = XmlSerializer.FromTypes(types)
public static XmlSerializer[] FromTypes (
    Type[] types
)
public:
static array<XmlSerializer^>^ FromTypes (
    array<Type^>^ types
)
public static XmlSerializer[] FromTypes (
    Type[] types
)
public static function FromTypes (
    types : Type[]
) : XmlSerializer[]

Parameter

  • types
    Ein Array von Type-Objekten.

Rückgabewert

Ein Array von XmlSerializer-Objekten.

Hinweise

Mithilfe der FromTypes-Methode können Sie ein Array von XmlSerializer-Objekten für die Verarbeitung eines Arrays von Type-Objekten effizient erstellen.

Beispiel

Im folgenden Beispiel wird mithilfe der FromTypes-Methode ein Array von XmlSerializer-Objekten zurückgegeben. Der Code enthält drei Klassendefinitionen, die jeweils zum Erstellen eines Arrays von Type-Objekten verwendet werden.

Imports System
Imports System.IO
Imports System.Xml.Serialization


' Three classes are included here. Each one will
' be used to create three XmlSerializer objects. 

Public Class Instrument
    Public InstrumentName As String
End Class

Public Class Player
    Public PlayerName As String
End Class

Public Class Piece
    Public PieceName As String
End Class

Public Class Test
    
    Public Shared Sub Main()
        Dim t As New Test()
        t.GetSerializers()
    End Sub    
    
    Public Sub GetSerializers()
        ' Create an array of types.
        Dim types(3) As Type
        types(0) = GetType(Instrument)
        types(1) = GetType(Player)
        types(2) = GetType(Piece)
        
        ' Create an array for XmlSerializer objects.
        Dim serializers(3) As XmlSerializer
        serializers = XmlSerializer.FromTypes(types)
        ' Create one Instrument and serialize it.
        Dim i As New Instrument()
        i.InstrumentName = "Piano"
        ' Create a TextWriter to write with.
        Dim writer As New StreamWriter("Inst.xml")
        serializers(0).Serialize(writer, i)
        writer.Close()
    End Sub
End Class
using System;
using System.IO;
using System.Xml.Serialization;

/* Three classes are included here. Each one will
be used to create three XmlSerializer objects. */

public class Instrument
{
   public string InstrumentName;
}

public class Player
{
   public string PlayerName;
}

public class Piece
{
   public string PieceName;
}
 
public class Test
{
   public static void Main()
   {
      Test t = new Test();
      t.GetSerializers();
   }

   public void GetSerializers()
   {
      // Create an array of types.
      Type[]types = new Type[3];
      types[0] = typeof(Instrument);
      types[1] = typeof(Player);
      types[2] = typeof(Piece);
 
      // Create an array for XmlSerializer objects.
      XmlSerializer[]serializers= new XmlSerializer[3];
      serializers = XmlSerializer.FromTypes(types);
      // Create one Instrument and serialize it.
      Instrument i = new Instrument();
      i.InstrumentName = "Piano";
      // Create a TextWriter to write with.
      TextWriter writer = new StreamWriter("Inst.xml");
      serializers[0].Serialize(writer,i);
      writer.Close();
   }
}
#using <System.Xml.dll>
#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;

/* Three classes are included here. Each one will
be used to create three XmlSerializer objects. */
public ref class Instrument
{
public:
   String^ InstrumentName;
};

public ref class Player
{
public:
   String^ PlayerName;
};

public ref class Piece
{
public:
   String^ PieceName;
};

void GetSerializers()
{
   // Create an array of types.
   array<Type^>^types = gcnew array<Type^>(3);
   types[ 0 ] = Instrument::typeid;
   types[ 1 ] = Player::typeid;
   types[ 2 ] = Piece::typeid;

   // Create an array for XmlSerializer objects.
   array<XmlSerializer^>^serializers = gcnew array<XmlSerializer^>(3);
   serializers = XmlSerializer::FromTypes( types );

   // Create one Instrument and serialize it.
   Instrument^ i = gcnew Instrument;
   i->InstrumentName = "Piano";

   // Create a TextWriter to write with.
   TextWriter^ writer = gcnew StreamWriter( "Inst.xml" );
   serializers[ 0 ]->Serialize( writer, i );
   writer->Close();
}

int main()
{
   GetSerializers();
}
import System.*;
import System.IO.*;
import System.Xml.Serialization.*;

/* Three classes are included here. Each one will
   be used to create three XmlSerializer objects. */

public class Instrument
{
    public String instrumentName;
} //Instrument

public class Player
{
    public String playerName;
} //Player

public class Piece
{
    public String pieceName;
} //Piece

public class Test
{
    public static void main(String[] args)
    {
        Test t = new Test();
        t.GetSerializers();
    } //main

    public void GetSerializers()
    {
        // Create an array of types.
        Type types[] = new Type[3];

        types.set_Item(0, Instrument.class.ToType());
        types.set_Item(1, Player.class.ToType());
        types.set_Item(2, Piece.class.ToType());

        // Create an array for XmlSerializer objects.
        XmlSerializer serializers[] = new XmlSerializer[3];
        serializers = XmlSerializer.FromTypes(types);

        // Create one Instrument and serialize it.
        Instrument i = new Instrument();
        i.instrumentName = "Piano";

        // Create a TextWriter to write with.
        TextWriter writer = new StreamWriter("Inst.xml");
        serializers[0].Serialize(writer, i);
        writer.Close();
    } //GetSerializers
} //Test

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0

Siehe auch

Referenz

XmlSerializer-Klasse
XmlSerializer-Member
System.Xml.Serialization-Namespace
XmlAttributes-Klasse

Weitere Ressourcen

Einführung in die XML-Serialisierung
Gewusst wie: Angeben eines alternativen Elementnamens für einen XML-Stream
Steuern der XML-Serialisierung mit Attributen
Beispiele für die XML-Serialisierung
XML Schema Definition-Tool (Xsd.exe)