Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

XmlAttributes, classe

Représente une collection d'objets attributs qui contrôlent la manière dont XmlSerializer sérialise et désérialise un objet.

System.Object
  System.Xml.Serialization.XmlAttributes

Espace de noms :  System.Xml.Serialization
Assembly :  System.Xml (dans System.Xml.dll)

public class XmlAttributes

Le type XmlAttributes expose les membres suivants.

  NomDescription
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlAttributes()Initialise une nouvelle instance de la classe XmlAttributes.
Méthode publiqueXmlAttributes(ICustomAttributeProvider)Infrastructure. Initialise une nouvelle instance de la classe XmlAttributes et personnalise la manière dont le XmlSerializer sérialise et désérialise un objet.
Début

  NomDescription
Propriété publiquePris en charge par XNA FrameworkPris en charge dans .NET pour les applications du Windows StoreXmlAnyAttributeObtient ou définit le XmlAnyAttributeAttribute à substituer.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlAnyElementsObtient la collection d'objets XmlAnyElementAttribute à substituer.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlArrayObtient ou définit un objet qui spécifie la façon dont XmlSerializer sérialise un champ public ou une propriété en lecture/écriture publique retournant un tableau.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlArrayItemsObtient ou définit une collection d'objets qui spécifient comment XmlSerializer sérialise les éléments qui sont insérés dans un tableau retourné par un champ public ou une propriété en lecture/écriture publique.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlAttributeObtient ou définit un objet qui spécifie la façon dont XmlSerializer sérialise un champ public ou une propriété en lecture/écriture publique comme un attribut XML.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlChoiceIdentifierObtient ou définit un objet qui vous permet de faire la différence entre plusieurs options.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlDefaultValueObtient ou définit la valeur par défaut d'un élément XML ou d'un attribut XML.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlElementsObtient une collection d'objets qui spécifient comment XmlSerializer sérialise un champ public ou une propriété en lecture/écriture publique en tant qu'élément XML.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlEnumObtient ou définit un objet qui spécifie la façon dont XmlSerializer sérialise un membre de l'énumération.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlIgnoreObtient ou définit une valeur qui spécifie si XmlSerializer sérialise ou non un champ public ou une propriété en lecture/écriture publique.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlnsObtient ou définit une valeur spécifiant si toutes les déclarations d'espace de noms doivent être conservées lors de substitution d'un objet qui contient un membre retournant un objet XmlSerializerNamespaces.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlRootObtient ou définit un objet qui spécifie la façon dont XmlSerializer sérialise une classe comme élément racine XML.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlTextObtient ou définit un objet qui commande à XmlSerializer de sérialiser un champ public ou une propriété en lecture/écriture publique comme texte XML.
Propriété publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreXmlTypeObtient ou définit un objet qui spécifie la façon dont XmlSerializer sérialise une classe à laquelle XmlTypeAttribute a été appliqué.
Début

  NomDescription
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégéePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publiquePris en charge par XNA FrameworkPris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début

La création de XmlAttributes fait partie d'un processus qui substitue le mode par défaut de sérialisation des instances de classe par XmlSerializer. Supposons que vous souhaitiez sérialiser un objet qui est créé à partir d'une DLL dont la source n'est pas accessible. XmlAttributeOverrides vous permet d'augmenter ou de contrôler le mode de sérialisation de l'objet.

Les membres de la classe XmlAttributes correspondent directement à une famille de classes d'attributs qui contrôlent la sérialisation. Par exemple, la propriété XmlText doit avoir une valeur XmlTextAttribute, ce qui vous permet de substituer la sérialisation d'un champ ou d'une propriété en commandant à XmlSerializer de sérialiser la valeur de propriété comme du texte XML. Pour obtenir une liste complète des attributs qui contrôlent la sérialisation, consultez XmlSerializer.

Pour plus d'informations sur l'utilisation de XmlAttributeOverrides avec la classe XmlAttributes, consultez Comment : spécifier un nom d'élément différent pour un flux XML.

L'exemple suivant sérialise une instance d'une classe nommée Orchestra qui contient un champ unique nommé Instruments qui retourne un tableau d'objets Instrument. Une seconde classe nommée Brass hérite de la classe Instrument. L'exemple crée un objet XmlAttributes à substituer au champ Instrument, permettant au champ d'accepter des objets Brass et ajoute l'objet XmlAttributes à une instance de la classe XmlAttributeOverrides.


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)
    {
      /* Each overridden field, property, or type requires 
      an XmlAttributes object. */
      XmlAttributes attrs = new XmlAttributes();

      /* Create an XmlElementAttribute to override the 
      field that returns Instrument objects. The overridden field
      returns Brass objects instead. */
      XmlElementAttribute attr = new XmlElementAttribute();
      attr.ElementName = "Brass";
      attr.Type = typeof(Brass);

      // Add the element to the collection of elements.
      attrs.XmlElements.Add(attr);

      // Create the XmlAttributeOverrides object.
      XmlAttributeOverrides attrOverrides = new XmlAttributeOverrides();

      /* Add the type of the class that contains the overridden 
      member and the XmlAttributes to override it with to the 
      XmlAttributeOverrides object. */
      attrOverrides.Add(typeof(Orchestra), "Instruments", attrs);

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

      // Writing the file requires a TextWriter.
      TextWriter writer = new StreamWriter(filename);

      // Create the object that will be serialized.
      Orchestra band = new Orchestra();

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

      // Serialize the object.
      s.Serialize(writer,band);
      writer.Close();
   }

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

      // Create an XmlElementAttribute to override the Instrument.
      XmlElementAttribute attr = new XmlElementAttribute();
      attr.ElementName = "Brass";
      attr.Type = typeof(Brass);

      // Add the element to the collection of elements.
      attrs.XmlElements.Add(attr);

      attrOverrides.Add(typeof(Orchestra), "Instruments", attrs);

      // Create 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:");

      /* The difference between deserializing the overridden 
      XML document and serializing it is this: To read the derived 
      object values, you must 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);
      }
   }
}



.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft