SoapAttributes.SoapElement プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SoapAttributes.SoapElement プロパティの意味・解説 

SoapAttributes.SoapElement プロパティ

オーバーライドする SoapElementAttribute を取得または設定します

名前空間: System.Xml.Serialization
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

Public Property SoapElement As
 SoapElementAttribute
Dim instance As SoapAttributes
Dim value As SoapElementAttribute

value = instance.SoapElement

instance.SoapElement = value
public SoapElementAttribute SoapElement { get;
 set; }
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 を構築します

詳細については、SoapAttributeOverrides クラス概要参照してください

使用例使用例

Transportation というクラスシリアル化する例を次に示しますVehicle フィールドシリアス化がオーバーライドされますCreateOverrideSerializer メソッド内では、SoapAttributeOverrides作成されオーバーライド対象メンバまたは列挙体ごとに、適切なプロパティ設定されSoapAttributes作成されそれぞれSoapAttributeOverrides追加されています。XmlTypeMappingSoapAttributeOverrides使用して作成され、その 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
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

SoapAttributes.SoapElement プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SoapAttributes.SoapElement プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS