Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Costruttore XmlArrayItemAttribute (String, Type)

 

Data di pubblicazione: ottobre 2016

Inizializza una nuova istanza di XmlArrayItemAttribute classe e specifica il nome dell'elemento XML generato nel documento XML e il Type che può essere inserito nel documento XML generato.

Spazio dei nomi:   System.Xml.Serialization
Assembly:  System.Xml (in System.Xml.dll)

public XmlArrayItemAttribute(
	string elementName,
	Type type
)

Parametri

elementName
Type: System.String

Il nome dell'elemento XML.

type
Type: System.Type

Il Type dell'oggetto da serializzare.

Questo overload imposta la ElementName e Type proprietà.

Utilizzare questo overload se si desidera che il nome dell'elemento XML generato sia diverso dall'identificatore del membro.

Un documento XML che include spazi dei nomi può contenere più di una versione di un nome di elemento. Per informazioni dettagliate, vedere la ElementName proprietà.

Nell'esempio seguente viene serializzata una classe denominata Transportation che contiene un campo denominato MyVehicles che restituisce una matrice di Vehicle oggetti. Nell'esempio viene applicato il XmlArrayItemAttribute al campo, consentendo il XmlSerializer per inserire le istanze della Car classe che deriva dal Vehicle (classe), nella matrice. Mentre l'applicazione dell'attributo, l'esempio imposta il ElementName proprietà utilizzando il elementName parametro e il Type proprietà utilizzando il type parametro.

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);
      }
   }
}

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: