SoapElementAttribute Sınıf

Tanım

Ortak üye değerinin tarafından kodlanmış SOAP XML öğesi olarak seri hale getirileceğini XmlSerializer belirtir.

C#
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue)]
public class SoapElementAttribute : Attribute
Devralma
SoapElementAttribute
Öznitelikler

Örnekler

Aşağıdaki örnek, adlı Vehiclebir alanı içeren adlı Transportation sınıfın örneğini seri hale getirmektedir. SoapElementAttribute alanına uygulanır. Alan seri hale getirildiğinde, XML öğesi adı "Vehicle" yerine "Wheels" olur. SerializeOverride yöntemi bir SoapElementAttribute oluşturur ve öğesinin SoapAttributes SoapElement özelliğini olarak SoapElementAttributeayarlar. SoapAttributes, oluşturmak için kullanılan öğesine XmlTypeMappingeklenirSoapAttributeOverrides. XmlTypeMappingile oluşturulur XmlSerializer ve sınıfının bir örneği Transportation yeniden seri hale getirilir. SoapElementAttribute serileştirmeyi geçersiz kılmak için kullanıldığından, oluşturulan XML öğesi adı artık "Tekerlekler" yerine "Kamyon" olur.

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

Açıklamalar

sınıfı, SoapElementAttribute nesnesinin kodlanmış SOAP XML'i olarak nasıl seri hale getirileceğini veya seri durumdan XmlSerializer çıkarıldığını denetleen bir öznitelik ailesine aittir. Sonuçta elde edilen XML, World Wide Web Konsorsiyumu belgesinin 5. bölümüne uygundur, Basit Nesne Erişim Protokolü (SOAP) 1.1. Benzer özniteliklerin tam listesi için bkz. Kodlanmış SOAP Serileştirmesini Denetleen Öznitelikler.

Bir nesneyi kodlanmış SOAP iletisi olarak seri hale getirmek için sınıfının yöntemiyle SoapReflectionImporter ImportTypeMapping oluşturulan kullanarak XmlTypeMapping öğesini oluşturmanız XmlSerializer gerekir.

SoapElementAttribute alanını kodlanmış bir SOAP XML öğesi olarak seri hale getirmek üzere yönlendirmek XmlSerializer için bir ortak alana uygulayın.

Öznitelikleri kullanma hakkında daha fazla bilgi için bkz . Öznitelikler.

Oluşturucular

SoapElementAttribute()

SoapElementAttribute sınıfının yeni bir örneğini başlatır.

SoapElementAttribute(String)

sınıfının yeni bir örneğini SoapElementAttribute başlatır ve XML öğesinin adını belirtir.

Özellikler

DataType

Oluşturulan XML öğesinin XML Şeması tanım dili (XSD) veri türünü alır veya ayarlar.

ElementName

Oluşturulan XML öğesinin adını alır veya ayarlar.

IsNullable

özniteliği "1" olarak ayarlanmış bir üyeyi XmlSerializer xsi:null seri hale getirmesi gerekip gerekmediğini belirten bir değer alır veya ayarlar.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)

Yöntemler

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.

(Devralındığı yer: Attribute)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ürün Sürümler
.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