Auf Englisch lesen

Freigeben über


XmlTypeMapping Klasse

Definition

Enthält eine Zuordnung eines Typs zu einem anderen.

C#
public class XmlTypeMapping : System.Xml.Serialization.XmlMapping
Vererbung
XmlTypeMapping

Beispiele

Im folgenden Beispiel wird eine Instanz einer Klasse mit dem Namen "FeldVehicle" Transportation serialisiert. A SoapElementAttribute wird auf das Feld angewendet. Wenn das Feld serialisiert wird, ist der XML-Elementname "Wheels" anstelle von "Vehicle". Die SerializeOverride Methode erstellt eine und legt die SoapElement Eigenschaft einer SoapElementAttribute SoapAttributes auf die SoapElementAttribute. Dies SoapAttributes SoapAttributeOverrides wird einer hinzugefügt, die zum Erstellen eines XmlTypeMapping. Eine XmlSerializer wird mit dem XmlTypeMapping, und eine Instanz der Transportation Klasse wird erneut serialisiert. Da die Serialisierung überschrieben wird, ist der SoapElementAttribute generierte XML-Elementname jetzt "Truck" anstelle von "Wheels".

C#
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();
   }
}

Hinweise

Die XmlTypeMapping Klasse wird verwendet, um ein Objekt als codierte SOAP-XML zu serialisieren. Die resultierende XML entspricht Abschnitt 5 des World Wide Web Consortium-Dokuments , "Simple Object Access Protocol (SOAP) 1.1". Erstellen Sie eine XmlTypeMapping durch Aufrufen der ImportTypeMapping Methode der SoapReflectionImporter Klasse. Verwenden Sie das XmlTypeMapping Erstellen einer Instanz der XmlSerializer Klasse. Verwenden Sie zum Steuern der Serialisierung eine der Attribute, die in Attributen aufgeführt sind, die die SOAP-Serialisierung steuern.

Eigenschaften

ElementName

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Ruft den Namen des zugeordneten Elements ab.

ElementName

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Ruft den Namen des zugeordneten Elements ab.

(Geerbt von XmlMapping)
Namespace

Ruft den XML-Namespace des zugeordneten Objekts ab.

Namespace

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Ruft den Namespace des zugeordneten Elements ab.

(Geerbt von XmlMapping)
TypeFullName

Der vollqualifizierte Typname, einschließlich des bzw. der Namespaces und des Typs.

TypeName

Ruft den Typnamen des zugeordneten Objekts ab.

XsdElementName

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Ruft den Namen des XSD-Elements der Zuordnung ab.

(Geerbt von XmlMapping)
XsdTypeName

Ruft den XML-Elementnamen des zugeordneten Objekts ab.

XsdTypeNamespace

Ruft den XML-Namespace des zugeordneten Objekts ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
SetKey(String)

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Legt den Schlüssel fest, der zum Ermitteln der Zuordnung verwendet wird.

(Geerbt von XmlMapping)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für

Produkt Versionen
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Siehe auch