Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Classe XmlTypeMapping

Contiene un mapping di un tipo a un altro.

System.Object
  System.Xml.Serialization.XmlMapping
    System.Xml.Serialization.XmlTypeMapping

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

public class XmlTypeMapping : XmlMapping

Il tipo XmlTypeMapping espone i seguenti membri.

  NomeDescrizione
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileElementNameOttenere il nome dell'elemento mappato. (Ereditato da XmlMapping)
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileNamespaceOttiene lo spazio dei nomi dell'elemento mappato. (Ereditato da XmlMapping)
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileTypeFullNameIl nome di tipo completo che include lo spazio dei nomi o gli spazi dei nomi) e il tipo.
Proprietà pubblicaSupportato da XNA FrameworkSupportato da Libreria di classi portabileTypeNameOttiene il nome del tipo di oggetto mappato.
Proprietà pubblicaSupportato da Libreria di classi portabileXsdElementNameOttiene il nome dell'elemento XSD di mapping. (Ereditato da XmlMapping)
Proprietà pubblicaSupportato da Libreria di classi portabileXsdTypeNameOttiene il nome dell'elemento XML dell'oggetto mappato.
Proprietà pubblicaSupportato da Libreria di classi portabileXsdTypeNamespaceOttiene lo spazio dei nomi XML dell'oggetto mappato.
In alto

  NomeDescrizione
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileEquals(Object) Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo protettoSupportato da XNA FrameworkSupportato da Libreria di classi portabileFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileGetHashCode Funge da funzione hash per un particolare tipo. (Ereditato da Object)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoSupportato da XNA FrameworkSupportato da Libreria di classi portabileMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoSupportato da Libreria di classi portabileSetKeyimposta la chiave utilizzata per cercare il mapping. (Ereditato da XmlMapping)
Metodo pubblicoSupportato da XNA FrameworkSupportato da Libreria di classi portabileToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

XmlTypeMapping la classe viene utilizzata per serializzare un oggetto come XML SOAP codificato. XML risultante è conforme alla parte 5 del documento del World Wide Web Consortium (www.w3.org), “vengano Object Access (SOAP) Protocol) 1,1 ". creare XmlTypeMapping chiamando ImportTypeMapping metodo di SoapReflectionImporter classe. utilizzare XmlTypeMapping per costruire un'istanza con XmlSerializer classe. Per controllare la serializzazione, utilizzare uno degli attributi elencati in Attributi per il controllo della serializzazione SOAP codificata.

Nell'esempio seguente viene serializzato un'istanza di una classe denominata Transportation che contiene un campo denominato Vehicle. In SoapElementAttribute si applica al campo. Quando il campo viene serializzato, il nome dell'elemento XML è “rotelline„ invece di “veicolo„. SerializeOverride il metodo crea un oggetto SoapElementAttribute e set SoapElement proprietà di un oggetto SoapAttributes in SoapElementAttribute. SoapAttributes viene aggiunto a SoapAttributeOverrides quello utilizzato per creare XmlTypeMapping. XmlSerializer viene costruito con XmlTypeMappinge un'istanza di Transportation la classe viene serializzata di nuovo. Poiché SoapElementAttribute viene utilizzato per eseguire l'override della serializzazione, il nome dell'elemento XML generato è ora “autocarro„ anziché “delle rotelline„.


using System;
using System.IO;
using System.Xml.Serialization;
using System.Collections;
using System.Xml;
using System.Text;
public class Transportation
{
   // The SoapElementAttribute specifies that the
   // generated XML element name will be "Wheels"
   // instead of "Vehicle".
   [SoapElement("Wheels")]
   public string Vehicle;
   [SoapElement(DataType = "dateTime")]
   public DateTime CreationDate;
   [SoapElement(IsNullable = true)]
   public Thing thing;

}

public class Thing{ 
   [SoapElement(IsNullable=true)] public string ThingName;
}

public class Test
{
   public static void Main()
   {
      Test t = new Test();
      t.SerializeObject("SoapElementOriginal.xml");
      t.SerializeOverride("SoapElementOverride.xml");
      Console.WriteLine("Finished writing two XML files.");
   }

   // Return an XmlSerializer used for overriding.
   public XmlSerializer CreateSoapOverrider()
   {
      // Create the SoapAttributes and SoapAttributeOverrides objects.
      SoapAttributes soapAttrs = new SoapAttributes();

      SoapAttributeOverrides soapOverrides = 
      new SoapAttributeOverrides();

      /* Create an SoapElementAttribute to override 
      the Vehicles property. */
      SoapElementAttribute soapElement1 = 
      new SoapElementAttribute("Truck");
      // Set the SoapElement to the object.
      soapAttrs.SoapElement= soapElement1;

      /* Add the SoapAttributes to the SoapAttributeOverrides,
      specifying the member to override. */
      soapOverrides.Add(typeof(Transportation), "Vehicle", soapAttrs);

      // Create the XmlSerializer, and return it.
      XmlTypeMapping myTypeMapping = (new SoapReflectionImporter
      (soapOverrides)).ImportTypeMapping(typeof(Transportation));
      return new XmlSerializer(myTypeMapping);
   }

   public void SerializeOverride(string filename)
   {
      // Create an XmlSerializer instance.
      XmlSerializer ser = CreateSoapOverrider();

      // Create the object and serialize it.
      Transportation myTransportation = 
      new Transportation();

      myTransportation.Vehicle = "MyCar";
      myTransportation.CreationDate=DateTime.Now;
      myTransportation.thing = new Thing();

      XmlTextWriter writer = 
      new XmlTextWriter(filename, Encoding.UTF8);
      writer.Formatting = Formatting.Indented;
      writer.WriteStartElement("wrapper");
      ser.Serialize(writer, myTransportation);
      writer.WriteEndElement();
      writer.Close();
   }
   public void SerializeObject(string filename){
      // Create an XmlSerializer instance.
      XmlSerializer ser = new XmlSerializer(typeof(Transportation));
      Transportation myTransportation = 
      new Transportation();
      myTransportation.Vehicle = "MyCar";
      myTransportation.CreationDate = DateTime.Now;
      myTransportation.thing = new Thing();
      XmlTextWriter writer = 
      new XmlTextWriter(filename, Encoding.UTF8);
      writer.Formatting = Formatting.Indented;
      writer.WriteStartElement("wrapper");
      ser.Serialize(writer, myTransportation);
      writer.WriteEndElement();
      writer.Close();
   }
}


.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Libreria di classi portabile

Obsoleto (avviso del compilatore) in Libreria di classi portabile

.NET per applicazioni Windows Phone

Supportato in: 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 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft