Udostępnij za pośrednictwem


XmlArrayItemAttribute Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy XmlArrayItemAttribute.

Przeciążenia

Nazwa Opis
XmlArrayItemAttribute()

Inicjuje nowe wystąpienie klasy XmlArrayItemAttribute.

XmlArrayItemAttribute(String)

Inicjuje nowe wystąpienie XmlArrayItemAttribute klasy i określa nazwę elementu XML wygenerowanego w dokumencie XML.

XmlArrayItemAttribute(Type)

Inicjuje nowe wystąpienie XmlArrayItemAttribute klasy i określa Type , które można wstawić do tablicy serializowanej.

XmlArrayItemAttribute(String, Type)

Inicjuje nowe wystąpienie XmlArrayItemAttribute klasy i określa nazwę elementu XML wygenerowanego w dokumencie XML oraz element Type , który można wstawić do wygenerowanego dokumentu XML.

XmlArrayItemAttribute()

Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs

Inicjuje nowe wystąpienie klasy XmlArrayItemAttribute.

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

Przykłady

Poniższy przykład serializuje klasę o nazwie , która zawiera pole o Transportation nazwie MyVehicles , które zwraca tablicę Vehicle obiektów. Przykład dotyczy XmlArrayItemAttribute pola, co umożliwia XmlSerializer wstawienie wystąpień Car klasy , które pochodzi z Vehicle klasy , do tablicy.

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

Dotyczy

XmlArrayItemAttribute(String)

Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs

Inicjuje nowe wystąpienie XmlArrayItemAttribute klasy i określa nazwę elementu XML wygenerowanego w dokumencie 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)

Parametry

elementName
String

Nazwa elementu XML.

Przykłady

Poniższy przykład serializuje klasę o nazwie , która zawiera pole o Transportation nazwie MyVehicles , które zwraca tablicę Vehicle obiektów. Przykład dotyczy XmlArrayItemAttribute pola, co umożliwia XmlSerializer wstawienie wystąpień Car klasy , które pochodzi z Vehicle klasy , do tablicy. Podczas stosowania atrybutu przykład ustawia ElementName właściwość przy użyciu parametru elementName .

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

Uwagi

To przeciążenie ustawia ElementName właściwość .

Użyj tego przeciążenia, jeśli chcesz, aby nazwa wygenerowanego elementu XML różniła się od identyfikatora elementu członkowskiego.

Dokument XML zawierający przestrzenie nazw może zawierać więcej niż jedną wersję nazwy elementu. Aby uzyskać szczegółowe informacje, zobacz ElementName właściwość .

Dotyczy

XmlArrayItemAttribute(Type)

Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs

Inicjuje nowe wystąpienie XmlArrayItemAttribute klasy i określa Type , które można wstawić do tablicy serializowanej.

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

Obiekt Type do serializacji.

Przykłady

Poniższy przykład serializuje klasę o nazwie , która zawiera pole o Transportation nazwie MyVehicles , które zwraca tablicę Vehicle obiektów. Przykład dotyczy XmlArrayItemAttribute pola, co umożliwia XmlSerializer wstawienie wystąpień Car klasy , które pochodzi z Vehicle klasy , do tablicy. Podczas stosowania atrybutu przykład ustawia Type właściwość przy użyciu parametru type .

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

Dotyczy

XmlArrayItemAttribute(String, Type)

Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs
Źródło:
XmlArrayItemAttribute.cs

Inicjuje nowe wystąpienie XmlArrayItemAttribute klasy i określa nazwę elementu XML wygenerowanego w dokumencie XML oraz element Type , który można wstawić do wygenerowanego dokumentu XML.

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

Nazwa elementu XML.

type
Type

Obiekt Type do serializacji.

Przykłady

Poniższy przykład serializuje klasę o nazwie , która zawiera pole o Transportation nazwie MyVehicles , które zwraca tablicę Vehicle obiektów. Przykład dotyczy XmlArrayItemAttribute pola, co umożliwia XmlSerializer wstawienie wystąpień Car klasy , które pochodzi z Vehicle klasy , do tablicy. Podczas stosowania atrybutu przykład ustawia ElementName właściwość przy użyciu parametru elementName i Type właściwość przy użyciu parametru type .

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

Uwagi

To przeciążenie ustawia ElementName właściwości i Type .

Użyj tego przeciążenia, jeśli chcesz, aby nazwa wygenerowanego elementu XML różniła się od identyfikatora elementu członkowskiego.

Dokument XML zawierający przestrzenie nazw może zawierać więcej niż jedną wersję nazwy elementu. Aby uzyskać szczegółowe informacje, zobacz ElementName właściwość .

Dotyczy