XmlArrayItemAttribute Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса XmlArrayItemAttribute.
Перегрузки
| Имя | Описание |
|---|---|
| XmlArrayItemAttribute() |
Инициализирует новый экземпляр класса XmlArrayItemAttribute. |
| XmlArrayItemAttribute(String) |
Инициализирует новый экземпляр XmlArrayItemAttribute класса и задает имя XML-элемента, созданного в XML-документе. |
| XmlArrayItemAttribute(Type) |
Инициализирует новый экземпляр XmlArrayItemAttribute класса и указывает Type , что его можно вставить в сериализованный массив. |
| XmlArrayItemAttribute(String, Type) |
Инициализирует новый экземпляр XmlArrayItemAttribute класса и задает имя XML-элемента, созданного в XML-документе, и Type его можно вставить в созданный XML-документ. |
XmlArrayItemAttribute()
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
Инициализирует новый экземпляр класса XmlArrayItemAttribute.
public:
XmlArrayItemAttribute();
public XmlArrayItemAttribute();
Public Sub New ()
Примеры
В следующем примере сериализуется класс с именем, который содержит поле с именем TransportationMyVehicles , которое возвращает массив Vehicle объектов. Пример применяется XmlArrayItemAttribute к полю, позволяя XmlSerializer вставлять экземпляры Car класса, производные от Vehicle класса, в массив.
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)
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- 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-элемента.
Примеры
В следующем примере сериализуется класс с именем, который содержит поле с именем TransportationMyVehicles , которое возвращает массив Vehicle объектов. Пример применяется XmlArrayItemAttribute к полю, позволяя XmlSerializer вставлять экземпляры Car класса, производные от Vehicle класса, в массив. При применении атрибута пример задает ElementName свойство с помощью 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
Комментарии
Эта перегрузка ElementName задает свойство.
Используйте эту перегрузку, если нужно, чтобы имя созданного XML-элемента отличалось от идентификатора элемента.
XML-документ, включающий пространства имен, может содержать несколько версий имени элемента. Дополнительные сведения см. в свойстве ElementName .
Применяется к
XmlArrayItemAttribute(Type)
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
Инициализирует новый экземпляр XmlArrayItemAttribute класса и указывает 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)
Параметры
Примеры
В следующем примере сериализуется класс с именем, который содержит поле с именем TransportationMyVehicles , которое возвращает массив Vehicle объектов. Пример применяется XmlArrayItemAttribute к полю, позволяя XmlSerializer вставлять экземпляры Car класса, производные от Vehicle класса, в массив. При применении атрибута пример задает Type свойство с помощью 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
Применяется к
XmlArrayItemAttribute(String, Type)
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
- Исходный код:
- XmlArrayItemAttribute.cs
Инициализирует новый экземпляр XmlArrayItemAttribute класса и задает имя XML-элемента, созданного в XML-документе, и Type его можно вставить в созданный 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)
Параметры
- elementName
- String
Имя XML-элемента.
Примеры
В следующем примере сериализуется класс с именем, который содержит поле с именем TransportationMyVehicles , которое возвращает массив Vehicle объектов. Пример применяется XmlArrayItemAttribute к полю, позволяя XmlSerializer вставлять экземпляры Car класса, производные от Vehicle класса, в массив. При применении атрибута пример задает ElementName свойство с помощью elementName параметра и Type свойство с помощью 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
Комментарии
Эта перегрузка задает ElementName свойства и Type свойства.
Используйте эту перегрузку, если нужно, чтобы имя созданного XML-элемента отличалось от идентификатора элемента.
XML-документ, включающий пространства имен, может содержать несколько версий имени элемента. Дополнительные сведения см. в свойстве ElementName .