SoapAttributes.SoapElement プロパティ
アセンブリ: System.Xml (system.xml.dll 内)

Dim instance As SoapAttributes Dim value As SoapElementAttribute value = instance.SoapElement instance.SoapElement = value
public: property SoapElementAttribute^ SoapElement { SoapElementAttribute^ get (); void set (SoapElementAttribute^ value); }
/** @property */ public SoapElementAttribute get_SoapElement () /** @property */ public void set_SoapElement (SoapElementAttribute value)
public function get SoapElement () : SoapElementAttribute public function set SoapElement (value : SoapElementAttribute)
オーバーライドする SoapElementAttribute。

SoapElementAttribute は、クラス メンバを XML 要素としてシリアル化する方法を制御するために使用されます。クラス メンバを XML 要素としてシリアル化する方法をオーバーライドするには、この SoapElement プロパティに新しい SoapElementAttribute を設定します。そのためには、新しい SoapElementAttribute を作成し、それをこのプロパティに割り当てます。次に、SoapAttributes を SoapAttributeOverrides に追加します。この SoapAttributeOverrides を使用して XmlTypeMapping を作成してから、その XmlTypeMapping を使用して XmlSerializer を構築します。

Transportation というクラスをシリアル化する例を次に示します。Vehicle フィールドのシリアス化がオーバーライドされます。CreateOverrideSerializer メソッド内では、SoapAttributeOverrides が作成され、オーバーライド対象のメンバまたは列挙体ごとに、適切なプロパティが設定された SoapAttributes が作成され、それぞれが SoapAttributeOverrides に追加されています。XmlTypeMapping が SoapAttributeOverrides を使用して作成され、その XmlTypeMapping を使用して、既定のシリアル化をオーバーライドする XmlSerializer が作成されます。
Imports System Imports System.IO Imports System.Xml.Serialization Imports System.Collections Imports System.Xml Imports System.Text Public Class Transportation ' The SoapElementAttribute specifies that the ' generated XML element name will be "Wheels" ' instead of "Vehicle". <SoapElement("Wheels")> Public Vehicle As String <SoapElement(DataType:= "dateTime")> _ public CreationDate As DateTime <SoapElement(IsNullable:= true)> _ public thing As Thing End Class Public Class Thing <SoapElement(IsNullable:=true)> public ThingName As string End Class Public Class Test Shared Sub Main() Dim t As Test = New Test() t.SerializeObject("SoapElementOriginalVb.xml") t.SerializeOverride("SoapElementOverrideVb.xml") Console.WriteLine("Finished writing two XML files.") End Sub ' Return an XmlSerializer used for overriding. Public Function CreateSoapOverrider() As XmlSerializer ' Create the SoapAttributes and SoapAttributeOverrides objects. Dim soapAttrs As SoapAttributes = New SoapAttributes() Dim soapOverrides As SoapAttributeOverrides = _ New SoapAttributeOverrides() ' Create a SoapElementAttribute to override ' the Vehicles property. Dim soapElement1 As SoapElementAttribute = _ 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(GetType(Transportation), "Vehicle", soapAttrs) ' Create the XmlSerializer, and return it. Dim myTypeMapping As XmlTypeMapping = (New _ SoapReflectionImporter (soapOverrides)).ImportTypeMapping _ (GetType(Transportation)) return New XmlSerializer(myTypeMapping) End Function Public Sub SerializeOverride(filename As String) ' Create an XmlSerializer instance. Dim ser As XmlSerializer = CreateSoapOverrider() ' Create the object and serialize it. Dim myTransportation As Transportation = _ New Transportation() myTransportation.Vehicle = "MyCar" myTransportation.CreationDate = DateTime.Now myTransportation.thing= new Thing() Dim writer As XmlTextWriter = _ New XmlTextWriter(filename, Encoding.UTF8) writer.Formatting = Formatting.Indented writer.WriteStartElement("wrapper") ser.Serialize(writer, myTransportation) writer.WriteEndElement() writer.Close() End Sub Public Sub SerializeObject(filename As String) ' Create an XmlSerializer instance. Dim ser As XmlSerializer = _ New XmlSerializer(GetType(Transportation)) Dim myTransportation As Transportation = _ New Transportation() myTransportation.Vehicle = "MyCar" myTransportation.CreationDate=DateTime.Now myTransportation.thing= new Thing() Dim writer As XmlTextWriter = _ new XmlTextWriter(filename, Encoding.UTF8) writer.Formatting = Formatting.Indented writer.WriteStartElement("wrapper") ser.Serialize(writer, myTransportation) writer.WriteEndElement() writer.Close() End Sub End Class
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(); } }
#using <System.Xml.dll> #using <System.dll> using namespace System; using namespace System::IO; using namespace System::Xml::Serialization; using namespace System::Collections; using namespace System::Xml; using namespace System::Text; public ref class Thing { public: [SoapElement(IsNullable=true)] String^ ThingName; }; public ref class Transportation { public: // The SoapElementAttribute specifies that the // generated XML element name will be S"Wheels" // instead of S"Vehicle". [SoapElement("Wheels")] String^ Vehicle; [SoapElement(DataType="dateTime")] DateTime CreationDate; [SoapElement(IsNullable=true)] Thing^ thing; }; public ref class Test { public: // Return an XmlSerializer used for overriding. XmlSerializer^ CreateSoapOverrider() { // Create the SoapAttributes and SoapAttributeOverrides objects. SoapAttributes^ soapAttrs = gcnew SoapAttributes; SoapAttributeOverrides^ soapOverrides = gcnew SoapAttributeOverrides; // Create an SoapElementAttribute to the Vehicles property. SoapElementAttribute^ soapElement1 = gcnew SoapElementAttribute( "Truck" ); // Set the SoapElement to the Object*. soapAttrs->SoapElement = soapElement1; // Add the SoapAttributes to the SoapAttributeOverrides,specifying the member to. soapOverrides->Add( Transportation::typeid, "Vehicle", soapAttrs ); // Create the XmlSerializer, and return it. XmlTypeMapping^ myTypeMapping = (gcnew SoapReflectionImporter( soapOverrides ))->ImportTypeMapping( Transportation::typeid ); return gcnew XmlSerializer( myTypeMapping ); } void SerializeOverride( String^ filename ) { // Create an XmlSerializer instance. XmlSerializer^ ser = CreateSoapOverrider(); // Create the Object* and serialize it. Transportation^ myTransportation = gcnew Transportation; myTransportation->Vehicle = "MyCar"; myTransportation->CreationDate = DateTime::Now; myTransportation->thing = gcnew Thing; XmlTextWriter^ writer = gcnew XmlTextWriter( filename,Encoding::UTF8 ); writer->Formatting = Formatting::Indented; writer->WriteStartElement( "wrapper" ); ser->Serialize( writer, myTransportation ); writer->WriteEndElement(); writer->Close(); } void SerializeObject( String^ filename ) { // Create an XmlSerializer instance. XmlSerializer^ ser = gcnew XmlSerializer( Transportation::typeid ); Transportation^ myTransportation = gcnew Transportation; myTransportation->Vehicle = "MyCar"; myTransportation->CreationDate = DateTime::Now; myTransportation->thing = gcnew Thing; XmlTextWriter^ writer = gcnew XmlTextWriter( filename,Encoding::UTF8 ); writer->Formatting = Formatting::Indented; writer->WriteStartElement( "wrapper" ); ser->Serialize( writer, myTransportation ); writer->WriteEndElement(); writer->Close(); } }; int main() { Test^ t = gcnew Test; t->SerializeObject( "SoapElementOriginal.xml" ); t->SerializeOverride( "SoapElementOverride.xml" ); Console::WriteLine( "Finished writing two XML files." ); }
import System.*; import System.IO.*; import System.Xml.Serialization.*; import System.Collections.*; import System.Xml.*; import System.Text.*; public class Transportation { // The SoapElementAttribute specifies that the // generated XML element name will be "Wheels" // instead of "Vehicle". /** @attribute SoapElement("Wheels") */ public String vehicle; /** @attribute SoapElement(DataType = "dateTime") */ public DateTime creationDate; /** @attribute SoapElement(IsNullable = true) */ public Thing thing; } //Transportation public class Thing { /** @attribute SoapElement(IsNullable = true) */ public String thingName; } //Thing public class Test { public static void main(String[] args) { Test t = new Test(); t.SerializeObject("SoapElementOriginal.xml"); t.SerializeOverride("SoapElementOverride.xml"); Console.WriteLine("Finished writing two XML files."); } //main // 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.set_SoapElement(soapElement1); /* Add the SoapAttributes to the SoapAttributeOverrides, specifying the member to override. */ soapOverrides.Add(Transportation.class.ToType(), "Vehicle", soapAttrs); // Create the XmlSerializer, and return it. XmlTypeMapping myTypeMapping = (new SoapReflectionImporter(soapOverrides)). ImportTypeMapping(Transportation.class.ToType()); return new XmlSerializer(myTypeMapping); } //CreateSoapOverrider 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.get_Now(); myTransportation.thing = new Thing(); XmlTextWriter writer = new XmlTextWriter(fileName, Encoding.get_UTF8()); writer.set_Formatting(Formatting.Indented); writer.WriteStartElement("wrapper"); ser.Serialize(writer, myTransportation); writer.WriteEndElement(); writer.Close(); } //SerializeOverride public void SerializeObject(String fileName) { // Create an XmlSerializer instance. XmlSerializer ser = new XmlSerializer(Transportation.class.ToType()); Transportation myTransportation = new Transportation(); myTransportation.vehicle = "MyCar"; myTransportation.creationDate = DateTime.get_Now(); myTransportation.thing = new Thing(); XmlTextWriter writer = new XmlTextWriter(fileName, Encoding.get_UTF8()); writer.set_Formatting(Formatting.Indented); writer.WriteStartElement("wrapper"); ser.Serialize(writer, myTransportation); writer.WriteEndElement(); writer.Close(); } //SerializeObject } //Test

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSoapAttributes.SoapElement プロパティを検索する場合は、下記のリンクをクリックしてください。

- SoapAttributes.SoapElement プロパティのページへのリンク