XmlElementAttribute Constructors

Definitie

Initialiseert een nieuw exemplaar van de XmlElementAttribute klasse.

Overloads

Name Description
XmlElementAttribute()

Initialiseert een nieuw exemplaar van de XmlElementAttribute klasse.

XmlElementAttribute(String)

Initialiseert een nieuw exemplaar van de XmlElementAttribute klasse en geeft de naam van het XML-element op.

XmlElementAttribute(Type)

Initialiseert een nieuw exemplaar van de XmlElementAttribute klasse en geeft een type op voor het lid waarop de XmlElementAttribute klasse wordt toegepast. Dit type wordt gebruikt bij het XmlSerializer serialiseren of deserialiseren van het object dat het bevat.

XmlElementAttribute(String, Type)

Initialiseert een nieuw exemplaar van de XmlElementAttribute en geeft de naam van het XML-element en een afgeleid type op voor het lid waarop de XmlElementAttribute toepassing is toegepast. Dit lidtype wordt gebruikt wanneer het XmlSerializer object dat het bevat serialiseert.

XmlElementAttribute()

Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs

Initialiseert een nieuw exemplaar van de XmlElementAttribute klasse.

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

Voorbeelden

In het volgende voorbeeld wordt de XmlElementAttribute klasse toegepast.

public class MyClass
{
   [XmlElement()]
   public string TeacherName;
}
Public Class MyClass1
    <XmlElement()> Public TeacherName As String
End Class

Van toepassing op

XmlElementAttribute(String)

Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs

Initialiseert een nieuw exemplaar van de XmlElementAttribute klasse en geeft de naam van het XML-element op.

public:
 XmlElementAttribute(System::String ^ elementName);
public XmlElementAttribute(string elementName);
public XmlElementAttribute(string? elementName);
new System.Xml.Serialization.XmlElementAttribute : string -> System.Xml.Serialization.XmlElementAttribute
Public Sub New (elementName As String)

Parameters

elementName
String

De naam van het XML-element van het geserialiseerde lid.

Voorbeelden

In het volgende voorbeeld ziet u een eenvoudige klasse die één veld bevat met de naam Vehicles. Het voorbeeld is van toepassing op het XmlElementAttribute veld en bevat de elementName parameter, waardoor de XmlSerializer XML-elementen met de naam 'Auto's' worden gegenereerd in plaats van 'Voertuigen'.

public class Transportation
{
   [XmlElement("Cars")]
   public string Vehicles;
}
Public Class Transportation
    <XmlElement("Cars")> Public Vehicles As String
End Class

Opmerkingen

XmlSerializer Standaard wordt de lidnaam gebruikt als de naam van het XML-element bij het serialiseren van een klasse-exemplaar. Een veld met de naam Vehicle genereert bijvoorbeeld een XML-element met de naam Vehicle. Als u echter een ander element nodig hebt, zoals Cars, geeft u dit door aan de elementName parameter.

Van toepassing op

XmlElementAttribute(Type)

Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs

Initialiseert een nieuw exemplaar van de XmlElementAttribute klasse en geeft een type op voor het lid waarop de XmlElementAttribute klasse wordt toegepast. Dit type wordt gebruikt bij het XmlSerializer serialiseren of deserialiseren van het object dat het bevat.

public:
 XmlElementAttribute(Type ^ type);
public XmlElementAttribute(Type type);
public XmlElementAttribute(Type? type);
new System.Xml.Serialization.XmlElementAttribute : Type -> System.Xml.Serialization.XmlElementAttribute
Public Sub New (type As Type)

Parameters

type
Type

Het Type object dat is afgeleid van het type van het lid.

Voorbeelden

In het volgende voorbeeld wordt een klasse geserialiseerd Orchestra die één veld met de naam Instrumentsbevat, dat een matrix met Instrument objecten retourneert. Een tweede klasse met de naam Brass neemt over van de Instrument klasse. In het voorbeeld wordt het XmlElementAttributeInstruments veld toegepast en wordt het Brass type opgegeven, zodat het Instruments veld objecten kan accepteren Brass . In het voorbeeld wordt ook de naam van het XML-element opgegeven door de ElementName eigenschap in te stellen.

using System;
using System.IO;
using System.Xml.Serialization;

public class Orchestra
{
   public Instrument[] Instruments;
}

public class Instrument
{
   public string Name;
}

public class Brass:Instrument{
   public bool IsValved;
}

public class Run
{
    public static void Main()
    {
       Run test = new Run();
       test.SerializeObject("Override.xml");
       test.DeserializeObject("Override.xml");
    }

    public void SerializeObject(string filename)
    {
      // To write the file, a TextWriter is required.
      TextWriter writer = new StreamWriter(filename);

      XmlAttributeOverrides attrOverrides =
         new XmlAttributeOverrides();
      XmlAttributes attrs = new XmlAttributes();

      // Creates an XmlElementAttribute that overrides the Instrument type.
      XmlElementAttribute attr = new
      XmlElementAttribute(typeof(Brass));
      attr.ElementName = "Brass";

      // Adds the element to the collection of elements.
      attrs.XmlElements.Add(attr);
      attrOverrides.Add(typeof(Orchestra), "Instruments", attrs);

      // Creates the XmlSerializer using the XmlAttributeOverrides.
      XmlSerializer s =
      new XmlSerializer(typeof(Orchestra), attrOverrides);

      // Creates the object to serialize.
      Orchestra band = new Orchestra();

      // Creates an object of the derived type.
      Brass i = new Brass();
      i.Name = "Trumpet";
      i.IsValved = true;
      Instrument[] myInstruments = {i};
      band.Instruments = myInstruments;
      s.Serialize(writer,band);
      writer.Close();
   }

   public void DeserializeObject(string filename)
   {
      XmlAttributeOverrides attrOverrides =
         new XmlAttributeOverrides();
      XmlAttributes attrs = new XmlAttributes();

      // Creates an XmlElementAttribute that override the Instrument type.
      XmlElementAttribute attr = new
      XmlElementAttribute(typeof(Brass));
      attr.ElementName = "Brass";

      // Adds the element to the collection of elements.
      attrs.XmlElements.Add(attr);
      attrOverrides.Add(typeof(Orchestra), "Instruments", attrs);

      // Creates the XmlSerializer using the XmlAttributeOverrides.
      XmlSerializer s =
      new XmlSerializer(typeof(Orchestra), attrOverrides);

      FileStream fs = new FileStream(filename, FileMode.Open);
      Orchestra band = (Orchestra) s.Deserialize(fs);
      Console.WriteLine("Brass:");

      /* Deserializing differs from serializing. To read the
         derived-object values, declare an object of the derived
         type (Brass) and cast the Instrument instance to it. */
      Brass b;
      foreach(Instrument i in band.Instruments)
      {
         b= (Brass)i;
         Console.WriteLine(
         b.Name + "\n" +
         b.IsValved);
      }
   }
}
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml.Serialization

Public Class Orchestra
    Public Instruments() As Instrument
End Class

Public Class Instrument
    Public Name As String
End Class

Public Class Brass
    Inherits Instrument
    Public IsValved As Boolean
End Class

Public Class Run
    
    Public Shared Sub Main()
        Dim test As New Run()
        test.SerializeObject("Override.xml")
        test.DeserializeObject("Override.xml")
    End Sub
    
    
    Public Sub SerializeObject(filename As String)
        ' To write the file, a TextWriter is required.
        Dim writer As New StreamWriter(filename)
        
        Dim attrOverrides As New XmlAttributeOverrides()
        Dim attrs As New XmlAttributes()
        
        ' Creates an XmlElementAttribute that overrides the Instrument type.
        Dim attr As New XmlElementAttribute(GetType(Brass))
        attr.ElementName = "Brass"
        
        ' Adds the element to the collection of elements.
        attrs.XmlElements.Add(attr)
        attrOverrides.Add(GetType(Orchestra), "Instruments", attrs)
        
        ' Creates the XmlSerializer using the XmlAttributeOverrides.
        Dim s As New XmlSerializer(GetType(Orchestra), attrOverrides)
        
        ' Creates the object to serialize.
        Dim band As New Orchestra()
        
        ' Creates an object of the derived type.
        Dim i As New Brass()
        i.Name = "Trumpet"
        i.IsValved = True
        Dim myInstruments() As Instrument = {i}
        band.Instruments = myInstruments
        s.Serialize(writer, band)
        writer.Close()
    End Sub
    
    
    Public Sub DeserializeObject(filename As String)
        Dim attrOverrides As New XmlAttributeOverrides()
        Dim attrs As New XmlAttributes()
        
        ' Create an XmlElementAttribute that override the Instrument type.
        Dim attr As New XmlElementAttribute(GetType(Brass))
        attr.ElementName = "Brass"
        
        ' Add the element to the collection of elements.
        attrs.XmlElements.Add(attr)
        attrOverrides.Add(GetType(Orchestra), "Instruments", attrs)
        
        ' Create the XmlSerializer using the XmlAttributeOverrides.
        Dim s As New XmlSerializer(GetType(Orchestra), attrOverrides)
        
        Dim fs As New FileStream(filename, FileMode.Open)
        Dim band As Orchestra = CType(s.Deserialize(fs), Orchestra)
        Console.WriteLine("Brass:")
        
        ' Deserializing differs from serializing. To read the
        ' derived-object values, declare an object of the derived
        ' type (Brass) and cast the Instrument instance to it. 
        Dim b As Brass
        Dim i As Instrument
        For Each i In  band.Instruments
            b = CType(i, Brass)
            Console.WriteLine((b.Name + ControlChars.Cr + b.IsValved.ToString()))
        Next i
    End Sub
End Class

Opmerkingen

Gebruik de type parameter om een type op te geven dat is afgeleid van een basisklasse. Stel dat een eigenschap met de naam een MyAnimal object retourneertAnimal. U wilt het object verbeteren, dus u maakt een nieuwe klasse met de naam Mammal die wordt overgenomen van de Animal klasse. Als u de XmlSerializer klasse wilt instrueren om de Mammal klasse te accepteren wanneer deze de MyAnimal eigenschap serialiseert, geeft u de TypeMammal klasse door aan de constructor.

Van toepassing op

XmlElementAttribute(String, Type)

Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs
Bron:
XmlElementAttribute.cs

Initialiseert een nieuw exemplaar van de XmlElementAttribute en geeft de naam van het XML-element en een afgeleid type op voor het lid waarop de XmlElementAttribute toepassing is toegepast. Dit lidtype wordt gebruikt wanneer het XmlSerializer object dat het bevat serialiseert.

public:
 XmlElementAttribute(System::String ^ elementName, Type ^ type);
public XmlElementAttribute(string elementName, Type type);
public XmlElementAttribute(string? elementName, Type? type);
new System.Xml.Serialization.XmlElementAttribute : string * Type -> System.Xml.Serialization.XmlElementAttribute
Public Sub New (elementName As String, type As Type)

Parameters

elementName
String

De naam van het XML-element van het geserialiseerde lid.

type
Type

Het Type object dat is afgeleid van het type van het lid.

Voorbeelden

In het volgende voorbeeld wordt een klasse geserialiseerd Orchestra die één veld met de naam Instrumentsbevat, dat een matrix met Instrument objecten retourneert. Een tweede klasse met de naam Brass neemt over van de Instrument klasse. In het voorbeeld wordt het XmlElementAttributeInstruments veld toegepast en wordt het Brass type opgegeven, zodat het Instruments veld objecten kan accepteren Brass . In het voorbeeld wordt ook de naam van het XML-element opgegeven door de ElementName eigenschap in te stellen.

using System;
using System.IO;
using System.Xml.Serialization;

public class Orchestra
{
   public Instrument[] Instruments;
}

public class Instrument
{
   public string Name;
}

public class Brass:Instrument{
   public bool IsValved;
}

public class Run
{
    public static void Main()
    {
       Run test = new Run();
       test.SerializeObject("Override.xml");
       test.DeserializeObject("Override.xml");
    }

    public void SerializeObject(string filename)
    {
      // To write the file, a TextWriter is required.
      TextWriter writer = new StreamWriter(filename);

      XmlAttributeOverrides attrOverrides =
         new XmlAttributeOverrides();
      XmlAttributes attrs = new XmlAttributes();

      // Creates an XmlElementAttribute that overrides the Instrument type.
      XmlElementAttribute attr = new
      XmlElementAttribute(typeof(Brass));
      attr.ElementName = "Brass";

      // Adds the element to the collection of elements.
      attrs.XmlElements.Add(attr);
      attrOverrides.Add(typeof(Orchestra), "Instruments", attrs);

      // Creates the XmlSerializer using the XmlAttributeOverrides.
      XmlSerializer s =
      new XmlSerializer(typeof(Orchestra), attrOverrides);

      // Creates the object to serialize.
      Orchestra band = new Orchestra();

      // Creates an object of the derived type.
      Brass i = new Brass();
      i.Name = "Trumpet";
      i.IsValved = true;
      Instrument[] myInstruments = {i};
      band.Instruments = myInstruments;
      s.Serialize(writer,band);
      writer.Close();
   }

   public void DeserializeObject(string filename)
   {
      XmlAttributeOverrides attrOverrides =
         new XmlAttributeOverrides();
      XmlAttributes attrs = new XmlAttributes();

      // Creates an XmlElementAttribute that override the Instrument type.
      XmlElementAttribute attr = new
      XmlElementAttribute(typeof(Brass));
      attr.ElementName = "Brass";

      // Adds the element to the collection of elements.
      attrs.XmlElements.Add(attr);
      attrOverrides.Add(typeof(Orchestra), "Instruments", attrs);

      // Creates the XmlSerializer using the XmlAttributeOverrides.
      XmlSerializer s =
      new XmlSerializer(typeof(Orchestra), attrOverrides);

      FileStream fs = new FileStream(filename, FileMode.Open);
      Orchestra band = (Orchestra) s.Deserialize(fs);
      Console.WriteLine("Brass:");

      /* Deserializing differs from serializing. To read the
         derived-object values, declare an object of the derived
         type (Brass) and cast the Instrument instance to it. */
      Brass b;
      foreach(Instrument i in band.Instruments)
      {
         b= (Brass)i;
         Console.WriteLine(
         b.Name + "\n" +
         b.IsValved);
      }
   }
}
Option Strict
Option Explicit

Imports System.IO
Imports System.Xml.Serialization

Public Class Orchestra
    Public Instruments() As Instrument
End Class

Public Class Instrument
    Public Name As String
End Class

Public Class Brass
    Inherits Instrument
    Public IsValved As Boolean
End Class

Public Class Run
    
    Public Shared Sub Main()
        Dim test As New Run()
        test.SerializeObject("Override.xml")
        test.DeserializeObject("Override.xml")
    End Sub
    
    
    Public Sub SerializeObject(filename As String)
        ' To write the file, a TextWriter is required.
        Dim writer As New StreamWriter(filename)
        
        Dim attrOverrides As New XmlAttributeOverrides()
        Dim attrs As New XmlAttributes()
        
        ' Creates an XmlElementAttribute that overrides the Instrument type.
        Dim attr As New XmlElementAttribute(GetType(Brass))
        attr.ElementName = "Brass"
        
        ' Adds the element to the collection of elements.
        attrs.XmlElements.Add(attr)
        attrOverrides.Add(GetType(Orchestra), "Instruments", attrs)
        
        ' Creates the XmlSerializer using the XmlAttributeOverrides.
        Dim s As New XmlSerializer(GetType(Orchestra), attrOverrides)
        
        ' Creates the object to serialize.
        Dim band As New Orchestra()
        
        ' Creates an object of the derived type.
        Dim i As New Brass()
        i.Name = "Trumpet"
        i.IsValved = True
        Dim myInstruments() As Instrument = {i}
        band.Instruments = myInstruments
        s.Serialize(writer, band)
        writer.Close()
    End Sub
    
    
    Public Sub DeserializeObject(filename As String)
        Dim attrOverrides As New XmlAttributeOverrides()
        Dim attrs As New XmlAttributes()
        
        ' Create an XmlElementAttribute that override the Instrument type.
        Dim attr As New XmlElementAttribute(GetType(Brass))
        attr.ElementName = "Brass"
        
        ' Add the element to the collection of elements.
        attrs.XmlElements.Add(attr)
        attrOverrides.Add(GetType(Orchestra), "Instruments", attrs)
        
        ' Create the XmlSerializer using the XmlAttributeOverrides.
        Dim s As New XmlSerializer(GetType(Orchestra), attrOverrides)
        
        Dim fs As New FileStream(filename, FileMode.Open)
        Dim band As Orchestra = CType(s.Deserialize(fs), Orchestra)
        Console.WriteLine("Brass:")
        
        ' Deserializing differs from serializing. To read the
        ' derived-object values, declare an object of the derived
        ' type (Brass) and cast the Instrument instance to it. 
        Dim b As Brass
        Dim i As Instrument
        For Each i In  band.Instruments
            b = CType(i, Brass)
            Console.WriteLine((b.Name + ControlChars.Cr + b.IsValved.ToString()))
        Next i
    End Sub
End Class

Opmerkingen

XmlSerializer Standaard wordt de lidnaam gebruikt als de naam van het XML-element bij het serialiseren van een klasse-exemplaar. Een veld met de naam Vehicle genereert bijvoorbeeld een XML-element met de naam Vehicle. Als u echter een ander element nodig hebt, zoals Cars, geeft u dit door aan de elementName parameter.

Gebruik de type parameter om een type op te geven dat is afgeleid van een basisklasse. Stel dat een eigenschap met de naam een MyAnimal object retourneertAnimal. U wilt het object verbeteren, dus u maakt een nieuwe klasse met de naam Mammal die wordt overgenomen van de Animal klasse. Als u de XmlSerializer klasse wilt instrueren om de Mammal klasse te accepteren wanneer deze de MyAnimal eigenschap serialiseert, geeft u de TypeMammal klasse door aan de constructor.

Van toepassing op